Pārlūkot izejas kodu

dashboard: show save as button if can edit and has edit permission to folders

Marcus Efraimsson 7 gadi atpakaļ
vecāks
revīzija
5c57c7cff5

+ 3 - 0
public/app/core/services/context_srv.ts

@@ -11,6 +11,7 @@ export class User {
   timezone: string;
   helpFlags1: number;
   lightTheme: boolean;
+  hasEditPermissionInFolders: boolean;
 
   constructor() {
     if (config.bootData.user) {
@@ -28,6 +29,7 @@ export class ContextSrv {
   isEditor: any;
   sidemenu: any;
   sidemenuSmallBreakpoint = false;
+  hasEditPermissionInFolders: boolean;
 
   constructor() {
     this.sidemenu = store.getBool('grafana.sidemenu', true);
@@ -44,6 +46,7 @@ export class ContextSrv {
     this.isSignedIn = this.user.isSignedIn;
     this.isGrafanaAdmin = this.user.isGrafanaAdmin;
     this.isEditor = this.hasRole('Editor') || this.hasRole('Admin');
+    this.hasEditPermissionInFolders = this.user.hasEditPermissionInFolders;
   }
 
   hasRole(role) {

+ 1 - 1
public/app/features/dashboard/settings/settings.ts

@@ -30,7 +30,7 @@ export class SettingsCtrl {
       });
     });
 
-    this.canSaveAs = contextSrv.isEditor;
+    this.canSaveAs = this.dashboard.meta.canEdit && contextSrv.hasEditPermissionInFolders;
     this.canSave = this.dashboard.meta.canSave;
     this.canDelete = this.dashboard.meta.canSave;