mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Fix: Unlock new button based on user permissions (#57733)
This commit is contained in:
parent
6839154720
commit
4d380978d3
@ -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}
|
||||
|
@ -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;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user