浏览代码

AMBARI-3223 Custom config properties cannot be added in Customize Services. (atkach)

atkach 11 年之前
父节点
当前提交
41c4f21ec1

+ 1 - 8
ambari-web/app/controllers/main.js

@@ -43,16 +43,9 @@ App.MainController = Em.Controller.extend({
    * run all processes and cluster's data loading
    */
   initialize: function(){
-    this.initAdmin();
     App.router.get('clusterController').loadClusterData();
     this.startPolling();
   },
-  initAdmin: function(){
-    if(App.db && App.db.getUser() && App.db.getUser().admin) {
-      App.set('isAdmin', true);
-      console.log('Administrator logged in');
-    }
-  },
 
   dataLoading: function () {
     var self = this;
@@ -96,4 +89,4 @@ App.MainController = Em.Controller.extend({
     );
   }.observes("App.router.location.lastSetURL", "App.clusterStatus.isInstalled")
 
-})
+})

+ 14 - 0
ambari-web/app/router.js

@@ -336,12 +336,26 @@ App.Router = Em.Router.extend({
     console.log("failed to invoke logout on the server");
   },
 
+  /**
+   * initialize isAdmin if user is administrator
+   */
+  initAdmin: function(){
+    if(App.db && App.db.getUser() && App.db.getUser().admin) {
+      App.set('isAdmin', true);
+      console.log('Administrator logged in');
+    }
+  },
+
   root: Em.Route.extend({
     index: Em.Route.extend({
       route: '/',
       redirectsTo: 'login'
     }),
 
+    enter: function(router){
+      router.initAdmin();
+    },
+
     login: Em.Route.extend({
       route: '/login',
 

+ 1 - 1
ambari-web/app/routes/add_service_routes.js

@@ -23,7 +23,7 @@ module.exports = Em.Route.extend({
 
   enter: function (router) {
     console.log('in /service/add:enter');
-    if (App.db.getUser().admin) {
+    if (App.get('isAdmin')) {
       Em.run.next(function () {
         var addServiceController = router.get('addServiceController');
         App.router.get('updateController').set('isWorking', false);

+ 1 - 1
ambari-web/app/routes/installer.js

@@ -31,7 +31,7 @@ module.exports = Em.Route.extend({
       var name = 'Cluster Install Wizard';
       $('title').text('Ambari - ' + name);
 
-      if (App.db.getUser().admin) {
+      if (App.get('isAdmin')) {
         router.get('mainController').stopPolling();
         console.log('In installer with successful authenticated');
         console.log('current step=' + router.get('installerController.currentStep'));