浏览代码

AMBARI-3194 NameNode HA wizard: after HA rollback popup, routing to admin->High Availability fails. (atkach)

atkach 12 年之前
父节点
当前提交
dd35bed89c

+ 1 - 1
ambari-web/app/controllers/main/admin/highAvailability/progress_controller.js

@@ -117,7 +117,7 @@ App.HighAvailabilityProgressPageController = App.HighAvailabilityWizardControlle
       primary: Em.I18n.t('common.confirm'),
       showCloseButton: false,
       onPrimary: function () {
-        App.router.transitionTo('root.main.admin.adminHighAvailability.rollback');
+        App.router.transitionTo('main.admin.highAvailabilityRollback');
         this.hide();
       },
       secondary : Em.I18n.t('common.cancel'),

+ 59 - 51
ambari-web/app/routes/main.js

@@ -649,65 +649,73 @@ module.exports = Em.Route.extend({
 
     adminHighAvailability: Em.Route.extend({
       route: '/highAvailability',
-      connectOutlets: function (router) {
-        router.set('mainAdminController.category', "highAvailability");
-        router.get('mainAdminController').connectOutlet('mainAdminHighAvailability');
+      enter: function (router) {
+        Em.run.next(function () {
+          router.transitionTo('adminHighAvailability.index');
+        });
       },
+      index: Ember.Route.extend({
+        route: '/',
+        connectOutlets: function (router, context) {
+          router.set('mainAdminController.category', "highAvailability");
+          router.get('mainAdminController').connectOutlet('mainAdminHighAvailability');
+        }
+      })
+    }),
 
-      rollback: Ember.Route.extend({
-        route: '/rollback',
-        enter: function (router) {
-          //after refresh check if the wizard is open then restore it
-          Ember.run.next(function () {
-            App.router.get('updateController').set('isWorking', false);
+    highAvailabilityRollback: Ember.Route.extend({
+      route: '/highAvailability/rollback',
+      enter: function (router) {
+        //after refresh check if the wizard is open then restore it
+        Ember.run.next(function () {
+          App.router.get('updateController').set('isWorking', false);
 
-            var highAvailabilityWizardController = router.get('highAvailabilityWizardController');
-            if(highAvailabilityWizardController.get('popup')){
-              highAvailabilityWizardController.finish();
-              highAvailabilityWizardController.get('popup').hide();
-            }
-            var popup = App.ModalPopup.show({
-              classNames: ['full-width-modal'],
-              header: Em.I18n.t('admin.highAvailability.rollback.header'),
-              bodyClass: App.HighAvailabilityRollbackView.extend({
-                controllerBinding: 'App.router.highAvailabilityRollbackController'
-              }),
-              showCloseButton: false,
-              primary: Em.I18n.t('form.cancel'),
-              secondary: null,
-              showFooter: false,
-
-              onClose: function () {
-                var self = this;
-                var controller = router.get('highAvailabilityRollbackController');
+          var highAvailabilityWizardController = router.get('highAvailabilityWizardController');
+          if(highAvailabilityWizardController.get('popup')){
+            highAvailabilityWizardController.finish();
+            highAvailabilityWizardController.get('popup').hide();
+          }
+          var popup = App.ModalPopup.show({
+            classNames: ['full-width-modal'],
+            header: Em.I18n.t('admin.highAvailability.rollback.header'),
+            bodyClass: App.HighAvailabilityRollbackView.extend({
+              controllerBinding: 'App.router.highAvailabilityRollbackController'
+            }),
+            showCloseButton: false,
+            primary: Em.I18n.t('form.cancel'),
+            secondary: null,
+            showFooter: false,
+
+            onClose: function () {
+              var self = this;
+              var controller = router.get('highAvailabilityRollbackController');
 //                if (!controller.get('isSubmitDisabled')) {
-                  self.proceedOnClose();
+              self.proceedOnClose();
 //                }
-              },
-              proceedOnClose: function () {
-                App.router.get('updateController').set('isWorking', true);
-                /*App.clusterStatus.setClusterStatus({
-                  clusterName: router.get('content.cluster.name'),
-                  clusterState: 'HIGH_AVAILABILITY_DISABLED',
-                  wizardControllerName: router.get('highAvailabilityRollbackController.name'),
-                  localdb: App.db.data
-                });*/
-                this.hide();
-                router.transitionTo('main.admin.adminHighAvailability');
-              },
-              didInsertElement: function () {
-                this.fitHeight();
-              }
-            });
-            router.set('highAvailabilityRollbackController.popup', popup);
+            },
+            proceedOnClose: function () {
+              App.router.get('updateController').set('isWorking', true);
+              App.clusterStatus.setClusterStatus({
+                clusterName: router.get('content.cluster.name'),
+                clusterState: 'HIGH_AVAILABILITY_DISABLED',
+                wizardControllerName: router.get('highAvailabilityRollbackController.name'),
+                localdb: App.db.data
+              });
+              this.hide();
+              router.transitionTo('main.admin.adminHighAvailability');
+            },
+            didInsertElement: function () {
+              this.fitHeight();
+            }
           });
+          router.set('highAvailabilityRollbackController.popup', popup);
+        });
 
-        },
+      },
 
-        unroutePath: function () {
-          return false;
-        }
-      })
+      unroutePath: function () {
+        return false;
+      }
     }),
 
     enableHighAvailability: require('routes/high_availability_routes'),