From 31398718e57b19e4d8c4c3881a1ef75df940dce0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Wed, 17 Sep 2014 15:25:19 +0200 Subject: [PATCH] Workin on login user state --- src/app/controllers/p_grafanaCtrl.js | 26 +++++++++++++------------- src/app/controllers/p_loginCtrl.js | 6 ++++-- src/app/partials/pro/sidemenu.html | 18 ++++++++++++++---- src/app/routes/p_login.js | 4 +--- 4 files changed, 32 insertions(+), 22 deletions(-) diff --git a/src/app/controllers/p_grafanaCtrl.js b/src/app/controllers/p_grafanaCtrl.js index e9484d76d64..a32b4998a41 100644 --- a/src/app/controllers/p_grafanaCtrl.js +++ b/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) { diff --git a/src/app/controllers/p_loginCtrl.js b/src/app/controllers/p_loginCtrl.js index 793cd357844..814b430c032 100644 --- a/src/app/controllers/p_loginCtrl.js +++ b/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) { diff --git a/src/app/partials/pro/sidemenu.html b/src/app/partials/pro/sidemenu.html index 64427daa6da..dd3c728aa6e 100644 --- a/src/app/partials/pro/sidemenu.html +++ b/src/app/partials/pro/sidemenu.html @@ -1,8 +1,13 @@
- - - logout - + Dashboards @@ -27,6 +32,11 @@ User accounts + + + Sign out + +
diff --git a/src/app/routes/p_login.js b/src/app/routes/p_login.js index bdab6d02e18..42b33e045f4 100644 --- a/src/app/routes/p_login.js +++ b/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() {