Open xavier-GitHub76 opened 1 week ago
To make the permission label "can csv on Superset" more precise, you can update it to something like "can download charts in CSV, Excel, and Image formats".
Here is the relevant code snippet where the permission is checked and the menu items for downloading are created:
{props.supersetCanCSV && (
<Menu.SubMenu
title={t('Download')}
key={MenuKeys.Download}
onTitleMouseEnter={() => setOpenKeys(undefined)}
>
<Menu.Item
key={MenuKeys.ExportCsv}
icon={<Icons.FileOutlined css={dropdownIconsStyles} />}
>
{t('Export to .CSV')}
</Menu.Item>
{isPivotTable && (
<Menu.Item
key={MenuKeys.ExportPivotCsv}
icon={<Icons.FileOutlined css={dropdownIconsStyles} />}
>
{t('Export to Pivoted .CSV')}
</Menu.Item>
)}
<Menu.Item
key={MenuKeys.ExportXlsx}
icon={<Icons.FileOutlined css={dropdownIconsStyles} />}
>
{t('Export to Excel')}
</Menu.Item>
{isFeatureEnabled(FeatureFlag.AllowFullCsvExport) &&
props.supersetCanCSV &&
isTable && (
<>
<Menu.Item
key={MenuKeys.ExportFullCsv}
icon={<Icons.FileOutlined css={dropdownIconsStyles} />}
>
{t('Export to full .CSV')}
</Menu.Item>
<Menu.Item
key={MenuKeys.ExportFullXlsx}
icon={<Icons.FileOutlined css={dropdownIconsStyles} />}
>
{t('Export to full Excel')}
</Menu.Item>
</>
)}
<Menu.Item
key={MenuKeys.DownloadAsImage}
icon={<Icons.FileImageOutlined css={dropdownIconsStyles} />}
>
{t('Download as image')}
</Menu.Item>
</Menu.SubMenu>
)}
You should also update the permission label in the relevant part of your codebase where permissions are defined and checked, such as in superset/constants.py
and superset/security/manager.py
[1][2][3].
To continue talking to Dosu, mention @dosu.
Label could be update but the permission seems to be deprecated... but used #30384
Bug description
With permission "can csv on Superset ", a user can download a chart in CSV, Excel, Image format
How to reproduce the bug
Add "can csv on Superset " on a role Contextual menu on Chart is :
Screenshots/recordings
No response
Superset version
master / latest-dev
Python version
3.9
Node version
16
Browser
Chrome
Additional context
No response
Checklist