From 6097ff255c1d91ac62ce327257f2b0e53102d771 Mon Sep 17 00:00:00 2001 From: Ieva Date: Fri, 10 Nov 2023 11:27:53 +0000 Subject: [PATCH] Dashboards: Fix dashboard listing when user can't list any folders (#77983) * return empty list of folder if the user doesn't have the permissions to view folders * fix the empty folder list initialisation --- .../features/browse-dashboards/api/services.ts | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/public/app/features/browse-dashboards/api/services.ts b/public/app/features/browse-dashboards/api/services.ts index d8d43c5d222..468392e965f 100644 --- a/public/app/features/browse-dashboards/api/services.ts +++ b/public/app/features/browse-dashboards/api/services.ts @@ -4,6 +4,9 @@ import { getGrafanaSearcher, NestedFolderDTO } from 'app/features/search/service import { queryResultToViewItem } from 'app/features/search/service/utils'; import { DashboardViewItem } from 'app/features/search/types'; +import { contextSrv } from '../../../core/core'; +import { AccessControlAction } from '../../../types'; + export const PAGE_SIZE = 50; export async function listFolders( @@ -18,11 +21,14 @@ export async function listFolders( const backendSrv = getBackendSrv(); - const folders = await backendSrv.get('/api/folders', { - parentUid: parentUID, - page, - limit: pageSize, - }); + let folders: NestedFolderDTO[] = []; + if (contextSrv.hasPermission(AccessControlAction.FoldersRead)) { + folders = await backendSrv.get('/api/folders', { + parentUid: parentUID, + page, + limit: pageSize, + }); + } return folders.map((item) => ({ kind: 'folder',