diff --git a/superset-frontend/src/views/components/MenuRight.tsx b/superset-frontend/src/views/components/MenuRight.tsx index 342c9257ecb0..81e8f6cf5339 100644 --- a/superset-frontend/src/views/components/MenuRight.tsx +++ b/superset-frontend/src/views/components/MenuRight.tsx @@ -85,6 +85,7 @@ const RightMenu = ({ const canSql = findPermission('can_sqllab', 'Superset', roles); const canDashboard = findPermission('can_write', 'Dashboard', roles); const canChart = findPermission('can_write', 'Chart', roles); + const canDatabase = findPermission('can_write', 'Database', roles); const showActionDropdown = canSql || canChart || canDashboard; const dropdownItems: MenuObjectProps[] = [ { @@ -94,12 +95,12 @@ const RightMenu = ({ { label: t('Connect Database'), name: GlobalMenuDataOptions.DB_CONNECTION, - perm: true, + perm: canDatabase, }, { label: t('Connect Google Sheet'), name: GlobalMenuDataOptions.GOOGLE_SHEETS, - perm: HAS_GSHEETS_INSTALLED, + perm: canDatabase && HAS_GSHEETS_INSTALLED, }, { label: t('Upload a CSV'), @@ -183,7 +184,7 @@ const RightMenu = ({ > {dropdownItems.map(menu => { if (menu.childs) { - return ( + return canDatabase ? ( - ); + ) : null; } return ( findPermission(