diff --git a/public/app/features/plugins/admin/components/InstallControls/InstallControlsWarning.tsx b/public/app/features/plugins/admin/components/InstallControls/InstallControlsWarning.tsx index c2c3643d301..7a2f86c1386 100644 --- a/public/app/features/plugins/admin/components/InstallControls/InstallControlsWarning.tsx +++ b/public/app/features/plugins/admin/components/InstallControls/InstallControlsWarning.tsx @@ -58,8 +58,7 @@ export const InstallControlsWarning = ({ plugin, pluginStatus, latestCompatibleV } if (!hasPermission && !isExternallyManaged) { - const message = `You do not have permission to ${pluginStatus} this plugin.`; - return
{message}
; + return
{statusToMessage(pluginStatus)}
; } if (!plugin.isPublished) { @@ -101,3 +100,17 @@ export const getStyles = (theme: GrafanaTheme2) => { `, }; }; + +function statusToMessage(status: PluginStatus): string { + switch (status) { + case PluginStatus.INSTALL: + case PluginStatus.REINSTALL: + return `You do not have permission to install this plugin.`; + case PluginStatus.UNINSTALL: + return `You do not have permission to uninstall this plugin.`; + case PluginStatus.UPDATE: + return `You do not have permission to update this plugin.`; + default: + return `You do not have permission to manage this plugin.`; + } +}