Browse Source

AMBARI-1185. Refactor the method to check if the user is an admin. (yusaku)

git-svn-id: https://svn.apache.org/repos/asf/incubator/ambari/trunk@1433640 13f79535-47bb-0310-9956-ffa450edef68
Yusaku Sako 12 years ago
parent
commit
fc1353f8b2

+ 3 - 0
CHANGES.txt

@@ -17,6 +17,9 @@ Trunk (unreleased changes):
 
  IMPROVEMENTS
 
+ AMBARI-1185. Refactor the method to check if the user is an admin.
+ (yusaku)
+
  AMBARI-1183. Directories in the service config textarea should not wrap.
  (yusaku)
 

+ 5 - 1
ambari-web/app/app.js

@@ -27,7 +27,11 @@ module.exports = Em.Application.create({
     adapter: DS.FixtureAdapter.create({
       simulateRemoteResponse: false
     })
-  })
+  }),
+  isAdmin : function(){
+    var user = this.db && this.db.getUser();
+    return user ? user.admin : false;
+  }.property()
 });
 
 /**

+ 0 - 4
ambari-web/app/controllers/login_controller.js

@@ -27,10 +27,6 @@ App.LoginController = Em.Object.extend({
 
   errorMessage: '',
 
-  isAdmin: function(){
-    return App.db.getUser().admin;
-  }.property('loginName'),
-
   submit: function (e) {
     this.set('errorMessage', '');
 

+ 0 - 4
ambari-web/app/controllers/main/host.js

@@ -25,10 +25,6 @@ App.MainHostController = Em.ArrayController.extend({
   content: App.Host.find(),
   comeWithFilter: false,
 
-  isAdmin: function(){
-    return App.router.getUser().admin;
-  }.property('App.router.loginController.loginName'),
-
   /**
    * Components which will be shown in component filter
    */

+ 1 - 3
ambari-web/app/controllers/main/host/details.js

@@ -22,9 +22,7 @@ App.MainHostDetailsController = Em.Controller.extend({
   name: 'mainHostDetailsController',
   content: null,
   isFromHosts: false,
-  isAdmin: function(){
-    return App.db.getUser().admin;
-  }.property('App.router.loginController.loginName'),
+
   routeHome: function () {
     App.router.transitionTo('main.dashboard');
   },

+ 1 - 3
ambari-web/app/controllers/main/service.js

@@ -26,9 +26,7 @@ App.MainServiceController = Em.ArrayController.extend({
     }
     return App.Service.find();
   }.property('App.router.clusterController.isLoaded'),
-  isAdmin: function(){
-    return App.db.getUser().admin;
-  }.property('App.router.loginController.loginName'),
+
   hdfsService: function () {
     var hdfsSvcs = App.HDFSService.find();
     if (hdfsSvcs && hdfsSvcs.get('length') > 0) {

+ 1 - 3
ambari-web/app/controllers/main/service/item.js

@@ -20,9 +20,7 @@ var App = require('app');
 
 App.MainServiceItemController = Em.Controller.extend({
   name: 'mainServiceItemController',
-  isAdmin: function(){
-    return App.db.getUser().admin;
-  }.property('App.router.loginController.loginName'),
+
   /**
    * Send specific command to server
    * @param url

+ 3 - 1
ambari-web/app/models.js

@@ -40,4 +40,6 @@ require('models/job');
 require('models/run');
 require('models/app');
 require('models/background_operation');
-require('models/host_component');
+require('models/host_component');
+
+require('classes/run_class');

+ 1 - 1
ambari-web/app/templates/main/host.hbs

@@ -17,7 +17,7 @@
 }}
 
 <div id="hosts">
-  {{#if controller.isAdmin}}
+  {{#if App.isAdmin}}
   <div class="box-header">
     <div class="button-section">
       <button class="btn btn-inverse add-host-button" {{action addHost}}>

+ 1 - 1
ambari-web/app/templates/main/host/details.hbs

@@ -19,7 +19,7 @@
 <div id="host-details">
   <span {{bindAttr class="view.content.healthClass"}}></span><span class='host-title'>{{unbound view.content.publicHostName}}</span>
   <div><a href="javascript:void(null)" data-toggle="modal" {{action backToHostsList}}><i class="icon-arrow-left"></i>&nbsp;Back to Hosts</a></div>
-<!--   {{#if controller.isAdmin}} -->
+<!--   {{#if App.isAdmin}} -->
 <!--   <div class="host-maintenance"> -->
 <!--     <div class="host-maintenance-btn btn-group display-inline-block"> -->
 <!--       <a class="btn dropdown-toggle" data-toggle="dropdown" href="#"> -->

+ 1 - 1
ambari-web/app/templates/main/host/summary.hbs

@@ -54,7 +54,7 @@
               <a href="#" {{action routeToService component.service target="controller"  }}>{{component.service.displayName}}</a>
             </div>
             <div class="span4">
-              {{#if controller.isAdmin}}
+              {{#if App.isAdmin}}
               <div class="btn-group">
                 <a {{ bindAttr class=":btn :dropdown-toggle view.disabledClass"}} data-toggle="dropdown">
                   Action

+ 1 - 1
ambari-web/app/templates/main/service.hbs

@@ -19,7 +19,7 @@
 <div class="row-fluid">
   <div id="services-menu" class="well span2" style="padding: 8px 0">
     {{view App.MainServiceMenuView}}
-    {{#if controller.isAdmin}}
+    {{#if App.isAdmin}}
     {{#if App.addServicesEnabled}}
     <div class="add-service-button">
       <a class="btn" {{action addService href="true"}}>

+ 1 - 1
ambari-web/app/templates/main/service/info/configs.hbs

@@ -54,7 +54,7 @@
           </div>
       {{/each}}
     </div>
-    {{#if App.router.loginController.isAdmin}}
+    {{#if App.isAdmin}}
     <p class="pull-right">
         <!--<input class="btn btn-primary" type="button" value="Save" {{!bindAttr disabled="isSubmitDisabled"}} />-->
         <a class="btn btn-primary" {{bindAttr disabled="isSubmitDisabled"}}

+ 1 - 1
ambari-web/app/templates/main/service/item.hbs

@@ -17,7 +17,7 @@
 }}
 
 {{view App.MainServiceInfoMenuView configTabBinding="view.hasConfigTab"}}
-{{#if controller.isAdmin}}
+{{#if App.isAdmin}}
 <div class="service-button">
   {{#if view.hasMaintenanceControl}}
   <div class="btn-group display-inline-block">