Browse Source

AMBARI-6967. Admin View: default login behavior (route to Admin View, Cluster Dashboard, or Views Landing page). (yusaku)

Yusaku Sako 10 years ago
parent
commit
cb1a5c0baa
1 changed files with 53 additions and 0 deletions
  1. 53 0
      ambari-web/app/routes/views.js

+ 53 - 0
ambari-web/app/routes/views.js

@@ -0,0 +1,53 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+var App = require('app');
+var stringUtils = require('utils/string_utils');
+
+module.exports = Em.Route.extend({
+  route: '/views',
+  enter: function (router) {
+    router.getAuthenticated().done(function (loggedIn) {
+      if (loggedIn) {
+        router.get('mainViewsController').loadAmbariViews();
+      } else {
+        Em.run.next(function () {
+          router.transitionTo('login');
+        });
+      }
+    });
+  },
+  index: Em.Route.extend({
+    route: '/',
+    connectOutlets: function (router) {
+      router.get('mainViewsController').dataLoading().done(function() {
+        router.get('applicationController').connectOutlet('mainViews');
+      });
+    }
+  }),
+  viewDetails: Em.Route.extend({
+    route: '/:viewName/:version/:instanceName',
+    connectOutlets: function (router, params) {
+      // find and set content for `mainViewsDetails` and associated controller
+      router.get('mainViewsController').dataLoading().done(function() {
+        router.get('applicationController').connectOutlet('mainViewsDetails', App.router.get('mainViewsController.ambariViews')
+          .findProperty('href', ['/views', params.viewName, params.version, params.instanceName].join('/')));
+      });
+    }
+  })
+});