|
|
@@ -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');
|
|
|
});
|
|
|
});
|