Fix: Unlock new button based on user permissions (#57733)

This commit is contained in:
Gabriel MABILLE 2022-10-27 15:48:07 +02:00 committed by GitHub
parent 6839154720
commit 4d380978d3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 6 deletions

View File

@ -32,10 +32,12 @@ export const ManageDashboardsNew = React.memo(({ folder }: Props) => {
const { isEditor } = contextSrv;
const hasEditPermissionInFolders = folder ? canSave : contextSrv.hasEditPermissionInFolders;
const canCreateFolders = contextSrv.hasAccess(AccessControlAction.FoldersCreate, isEditor);
const canCreateDashboards = contextSrv.hasAccess(
AccessControlAction.DashboardsCreate,
hasEditPermissionInFolders || !!canSave
);
const canCreateDashboardsFallback = hasEditPermissionInFolders || !!canSave;
const canCreateDashboards = folder?.id
? contextSrv.hasAccessInMetadata(AccessControlAction.DashboardsCreate, folder, canCreateDashboardsFallback)
: contextSrv.hasAccess(AccessControlAction.DashboardsCreate, canCreateDashboardsFallback);
const viewActions = (folder === undefined && canCreateFolders) || canCreateDashboards;
let [includePanels, setIncludePanels] = useLocalStorage<boolean>(SEARCH_PANELS_LOCAL_STORAGE_KEY, true);
if (!config.featureToggles.panelTitleSearch) {
includePanels = false;
@ -60,7 +62,7 @@ export const ManageDashboardsNew = React.memo(({ folder }: Props) => {
suffix={false ? <Spinner /> : null}
/>
</div>
{canCreateFolders && canCreateDashboards && (
{viewActions && (
<DashboardActions
folderId={folderId}
canCreateFolders={canCreateFolders}

View File

@ -3,7 +3,7 @@ import { backendSrv } from 'app/core/services/backend_srv';
import { buildNavModel } from '../folders/state/navModel';
export const loadFolderPage = (uid: string) => {
return backendSrv.getFolderByUid(uid).then((folder) => {
return backendSrv.getFolderByUid(uid, { withAccessControl: true }).then((folder) => {
const navModel = buildNavModel(folder);
navModel.children![0].active = true;