diff --git a/public/app/partials/login.html b/public/app/partials/login.html index c0fb9e9e990..8db858dac8d 100644 --- a/public/app/partials/login.html +++ b/public/app/partials/login.html @@ -23,7 +23,7 @@ User
  • - +
  • @@ -34,7 +34,7 @@ Password
  • - +
  • @@ -46,7 +46,7 @@ Email
  • - +
  • @@ -58,7 +58,7 @@ Password
  • - +
  • diff --git a/public/app/services/contextSrv.js b/public/app/services/contextSrv.js index c7d1afda522..b3f8a1ed164 100644 --- a/public/app/services/contextSrv.js +++ b/public/app/services/contextSrv.js @@ -40,24 +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; - var sidemenuDefault = false; - if (this.hasRole('Admin')) { - sidemenuDefault = true; - } - this.sidemenu = store.getBool('grafana.sidemenu', sidemenuDefault); + this.sidemenu = store.getBool('grafana.sidemenu', this.getSidemenuDefault()); + if (this.isSignedIn && !store.exists('grafana.sidemenu')) { - // If the sidemnu has never been set before, set it to false. + // 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'); }); });