Просмотр исходного кода

Merge branch 'master' into dashlinks

Torkel Ödegaard 10 лет назад
Родитель
Сommit
ece9e8dcea

+ 1 - 1
public/app/controllers/loginCtrl.js

@@ -14,7 +14,7 @@ function (angular, config) {
       password: '',
     };
 
-    contextSrv.setSideMenuState(false);
+    contextSrv.sidemenu = false;
 
     $scope.googleAuthEnabled = config.googleAuthEnabled;
     $scope.githubAuthEnabled = config.githubAuthEnabled;

+ 4 - 4
public/app/partials/login.html

@@ -23,7 +23,7 @@
 							<strong>User</strong>
             </li>
             <li>
-              <input type="text" name="username" class="tight-form-input last" required ng-model='formModel.user' placeholder="email or username" style="width: 255px">
+              <input type="text" name="username" class="tight-form-input last" required ng-model='formModel.user' placeholder="email or username" style="width: 253px">
             </li>
           </ul>
           <div class="clearfix"></div>
@@ -34,7 +34,7 @@
 							<strong>Password</strong>
             </li>
             <li>
-							<input type="password" name="password" class="tight-form-input last" required ng-model="formModel.password" id="inputPassword" style="width: 255px" placeholder="password">
+							<input type="password" name="password" class="tight-form-input last" required ng-model="formModel.password" id="inputPassword" style="width: 253px" placeholder="password">
             </li>
           </ul>
           <div class="clearfix"></div>
@@ -46,7 +46,7 @@
 							<strong>Email</strong>
             </li>
             <li>
-              <input type="email" class="tight-form-input last" required ng-model='formModel.email' placeholder="email" style="width: 255px">
+              <input type="email" class="tight-form-input last" required ng-model='formModel.email' placeholder="email" style="width: 253px">
             </li>
           </ul>
           <div class="clearfix"></div>
@@ -58,7 +58,7 @@
 							<strong>Password</strong>
             </li>
             <li>
-							<input type="password" class="tight-form-input last" watch-change="passwordChanged(inputValue)" ng-minlength="4" required ng-model='formModel.password' placeholder="password" style="width: 255px">
+							<input type="password" class="tight-form-input last" watch-change="passwordChanged(inputValue)" ng-minlength="4" required ng-model='formModel.password' placeholder="password" style="width: 253px">
             </li>
           </ul>
           <div class="clearfix"></div>

+ 3 - 1
public/app/routes/dashLoadControllers.js

@@ -36,7 +36,9 @@ function (angular, _, kbn, moment, $) {
 
   });
 
-  module.controller('DashFromSnapshotCtrl', function($scope, $routeParams, backendSrv) {
+  module.controller('DashFromSnapshotCtrl', function($scope, $routeParams, backendSrv, contextSrv) {
+    //don't show the sidemenu in snapshots.
+    contextSrv.sidemenu = false;
     backendSrv.get('/api/snapshots/' + $routeParams.key).then(function(result) {
       $scope.initDashboard(result, $scope);
     }, function() {

+ 15 - 1
public/app/services/contextSrv.js

@@ -40,12 +40,26 @@ function (angular, _, store, config) {
       }, 50);
     };
 
+    this.getSidemenuDefault = function() {
+      return this.hasRole('Admin');
+    };
+
     this.version = config.buildInfo.version;
     this.lightTheme = false;
     this.user = new User();
     this.isSignedIn = this.user.isSignedIn;
     this.isGrafanaAdmin = this.user.isGrafanaAdmin;
-    this.sidemenu = store.getBool('grafana.sidemenu');
+    this.sidemenu = store.getBool('grafana.sidemenu', this.getSidemenuDefault());
+
+    if (this.isSignedIn && !store.exists('grafana.sidemenu')) {
+      // If the sidemenu has never been set before, set it to false.
+      // This will result in this.sidemenu and the localStorage grafana.sidemenu
+      // to be out of sync if the user has an admin role.  But this is
+      // intentional and results in the user seeing the sidemenu only on
+      // their first login.
+      store.set('grafana.sidemenu', false);
+    }
+
     this.isEditor = this.hasRole('Editor') || this.hasRole('Admin');
   });
 });