Torkel Ödegaard 11 лет назад
Родитель
Сommit
31398718e5

+ 13 - 13
src/app/controllers/p_grafanaCtrl.js

@@ -11,10 +11,8 @@ function (angular, config, _, $, store) {
   var module = angular.module('grafana.controllers');
 
   module.controller('GrafanaCtrl', function($scope, alertSrv, grafanaVersion, $rootScope) {
-
     $scope.grafanaVersion = grafanaVersion[0] === '@' ? 'master' : grafanaVersion;
-    $scope.consoleEnabled = store.getBool('grafanaConsole');
-    $scope.showProSideMenu = store.getBool('grafanaProSideMenu');
+    $scope.grafana = {};
 
     $rootScope.profilingEnabled = store.getBool('profilingEnabled');
     $rootScope.performance = { loadStart: new Date().getTime() };
@@ -25,25 +23,27 @@ function (angular, config, _, $, store) {
       if ($rootScope.profilingEnabled) { $scope.initProfiling(); }
 
       $scope.dashAlerts = alertSrv;
-      $scope.grafana = { style: 'dark' };
+      $scope.grafana.style = 'dark';
+      $scope.grafana.sidemenu = store.getBool('grafana.sidemenu');
+
+      if (window.grafanaBootData.user.login) {
+        $scope.grafana.user = window.grafanaBootData.user;
+      }
 
       $scope.onAppEvent('logged-out', function() {
         $scope.showProSideMenu = false;
+        $scope.grafana.user = {};
       });
 
-      $scope.onAppEvent('logged-in', function() {
-        $scope.showProSideMenu = store.getBool('grafanaProSideMenu');
+      $scope.onAppEvent('logged-in', function(evt, user) {
+        $scope.grafana.sidemenu = store.getBool('grafana.sidemenu');
+        $scope.grafana.user = user;
       });
     };
 
     $scope.toggleProSideMenu = function() {
-      $scope.showProSideMenu = !$scope.showProSideMenu;
-      store.set('grafanaProSideMenu', $scope.showProSideMenu);
-    };
-
-    $scope.toggleConsole = function() {
-      $scope.consoleEnabled = !$scope.consoleEnabled;
-      store.set('grafanaConsole', $scope.consoleEnabled);
+      $scope.grafana.sidemenu = !$scope.grafana.sidemenu;
+      store.set('grafana.sidemenu', $scope.grafana.sidemenu);
     };
 
     $rootScope.onAppEvent = function(name, callback) {

+ 4 - 2
src/app/controllers/p_loginCtrl.js

@@ -8,6 +8,7 @@ function (angular) {
 
   module.controller('LoginCtrl', function($scope, $http, $location, $routeParams, alertSrv) {
     $scope.loginModel = {};
+    $scope.grafana.sidemenu = false;
 
     $scope.init = function() {
       if ($routeParams.logout) {
@@ -20,6 +21,7 @@ function (angular) {
 
         alertSrv.set('Logged out!', '', 'success', 3000);
         $scope.emitAppEvent('logged-out');
+        $location.search({});
 
       }, function() {
         alertSrv.set('Logout failed:', 'Unexpected error', 'error', 3000);
@@ -33,8 +35,8 @@ function (angular) {
         return;
       }
 
-      $http.post('/login', $scope.loginModel).then(function() {
-        $scope.emitAppEvent('logged-in');
+      $http.post('/login', $scope.loginModel).then(function(results) {
+        $scope.emitAppEvent('logged-in', results.data.user);
         $location.path('/');
       }, function(err) {
         if (err.status === 401) {

+ 14 - 4
src/app/partials/pro/sidemenu.html

@@ -1,8 +1,13 @@
 <section class="pro-sidemenu-items">
-	<a class="pro-sidemenu-link" href="/login?logout">
-		<i class="icon-lock"></i>
-		logout
-	</a>
+	<div class="dropdown">
+		<a class="pro-sidemenu-link pointer" data-toggle="dropdown">
+			<i class="icon-user"></i>
+			{{grafana.user.login}}
+		</a>
+		<ul class="dropdown-menu">
+			<li><a href="/login?logout">Logout</a>
+		</ul>
+	</div>
 	<a class="pro-sidemenu-link" href="/dashboard/db/home">
 		<i class="icon-th-large"></i>
 		Dashboards
@@ -27,6 +32,11 @@
 		<i class="icon-user"></i>
 		User accounts
 	</a>
+	<a class="pro-sidemenu-link" href="/login?logout">
+		<i class="icon-signout"></i>
+		Sign out
+	</a>
+
 </section>
 
 </div>

+ 1 - 3
src/app/routes/p_login.js

@@ -21,11 +21,9 @@ function (angular) {
 
   module.controller('RegisterCtrl', function($scope, $http, $location, $routeParams) {
     $scope.loginModel = {};
+    $scope.grafana.sidemenu = false;
 
     $scope.init = function() {
-      if ($routeParams.logout) {
-        $scope.logout();
-      }
     };
 
     $scope.register = function() {