Browse Source

AMABRI-7550. Warning about unsaved changes does not appearing after navigate to any Admin/View's tab page.(Ievgen F via xiwang)

Xi Wang 10 years ago
parent
commit
b346b582bd

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

@@ -88,6 +88,10 @@ App.ApplicationController = Em.Controller.extend(App.UserPref, {
     }
   },
 
+  goToAdminView: function () {
+    App.router.route("adminView");
+  },
+
   showSettingsPopup: function() {
     // Settings only for admins
     if (!App.get('isAdmin')) return;

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

@@ -103,7 +103,7 @@ App.MainViewsController = Em.Controller.extend({
 
   setView: function(event) {
     if(event.context){
-      App.router.transitionTo('main.views.viewDetails', event.context);
+      App.router.route('main/views/' + event.context.viewName + '/' + event.context.version + '/' + event.context.instanceName);
     }
   }
 });

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

@@ -469,6 +469,19 @@ App.Router = Em.Router.extend({
 
     main: require('routes/main'),
 
+    adminView: Em.Route.extend({
+      route: '/adminView',
+      enter: function (router) {
+        if (!router.get('loggedIn') || !App.get('isAdmin') || App.get('isOperator')) {
+          Em.run.next(function () {
+            router.transitionTo('login');
+          });
+        } else {
+            window.location.replace('/views/ADMIN_VIEW/1.0.0/INSTANCE/#/');
+        }
+      }
+    }),
+
     experimental: Em.Route.extend({
       route: '/experimental',
       enter: function (router, context) {

+ 1 - 2
ambari-web/app/routes/main.js

@@ -326,8 +326,7 @@ module.exports = Em.Route.extend({
           App.router.transitionTo('main.dashboard.index');
         });
       } else {
-        var controller = router.get('mainAdminController');
-        router.transitionTo('admin' + controller.get('category').capitalize());
+        this._super(router, event);
       }
     },
     connectOutlets: function (router, context) {

+ 1 - 1
ambari-web/app/templates/application.hbs

@@ -47,7 +47,7 @@
               <ul class="dropdown-menu">
                   <li><a href="" {{action showAboutPopup target="controller"}}>{{t app.aboutAmbari}}</a></li>
                   {{#if App.isAdmin}}{{#unless App.isOperator}}
-                      <li><a href="/views/ADMIN_VIEW/1.0.0/INSTANCE/#/">{{t app.manageAmbari}}</a></li>
+                    <li><a href="" {{action goToAdminView target="controller"}}>{{t app.manageAmbari}}</a></li>
                   {{/unless}}{{/if}}
                 {{#if isClusterDataLoaded}}
                   {{#if App.isAdmin}}

+ 6 - 6
ambari-web/app/views/main/menu.js

@@ -118,7 +118,7 @@ App.MainMenuView = Em.CollectionView.extend({
       var itemName = this.get('content').routing;
       // route to correct category of current menu item
       if (itemName == 'admin') {
-        App.router.transitionTo('admin.' + event.context);
+        App.router.route('main/admin/' + event.context);
       }
     },
     dropdownCategories: function () {
@@ -128,19 +128,19 @@ App.MainMenuView = Em.CollectionView.extend({
       if (itemName == 'admin') {
         categories = [];
         categories.push({
-          name: 'repositories',
-          url: 'adminRepositories',
+          name: 'adminRepositories',
+          url: 'repositories',
           label: Em.I18n.t('common.repositories')
         });
         categories.push({
-          name: 'serviceAccounts',
-          url: 'adminServiceAccounts',
+          name: 'adminServiceAccounts',
+          url: 'serviceAccounts',
           label: Em.I18n.t('common.serviceAccounts')
         });
         if (App.supports.secureCluster) {
           categories.push({
             name: 'security',
-            url: 'adminSecurity.index',
+            url: 'security/',
             label: Em.I18n.t('common.security')
           });
         }