RBAC: Hide the root level dashboard creation button from users who can't create dashboards on root level (#92942)

hide the root level dashboard creation button from users who can't create dashboards on the root level
This commit is contained in:
Ieva 2024-09-11 16:40:08 +01:00 committed by GitHub
parent 1f7ebde0de
commit 700636b3b9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -3,10 +3,7 @@ import { contextSrv } from 'app/core/core';
import { AccessControlAction, FolderDTO } from 'app/types';
function checkFolderPermission(action: AccessControlAction, folderDTO?: FolderDTO) {
// Only some permissions are assigned in the root folder (aka "general" folder), so we can ignore them in most cases
return folderDTO && folderDTO.uid !== 'general'
? contextSrv.hasPermissionInMetadata(action, folderDTO)
: contextSrv.hasPermission(action);
return folderDTO ? contextSrv.hasPermissionInMetadata(action, folderDTO) : contextSrv.hasPermission(action);
}
function checkCanCreateFolders(folderDTO?: FolderDTO) {
@ -25,9 +22,7 @@ function checkCanCreateFolders(folderDTO?: FolderDTO) {
);
}
return folderDTO
? contextSrv.hasPermissionInMetadata(AccessControlAction.FoldersCreate, folderDTO)
: contextSrv.hasPermission(AccessControlAction.FoldersCreate);
return checkFolderPermission(AccessControlAction.FoldersCreate, folderDTO);
}
export function getFolderPermissions(folderDTO?: FolderDTO) {