mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Plugins: Disable install controls for provisioned plugin in cloud (#90479)
This commit is contained in:
parent
8fd2245ce6
commit
5e3a5b355e
@ -34,7 +34,8 @@ export const PluginActions = ({ plugin }: Props) => {
|
||||
? PluginStatus.UPDATE
|
||||
: PluginStatus.UNINSTALL
|
||||
: PluginStatus.INSTALL;
|
||||
const isInstallControlsDisabled = plugin.isCore || plugin.isDisabled || !isInstallControlsEnabled();
|
||||
const isInstallControlsDisabled =
|
||||
plugin.isCore || plugin.isDisabled || plugin.isProvisioned || !isInstallControlsEnabled();
|
||||
|
||||
return (
|
||||
<Stack direction="column">
|
||||
|
@ -81,6 +81,7 @@ export function mergeLocalsAndRemotes({
|
||||
}
|
||||
|
||||
catalogPlugin.isUninstallingFromInstance = Boolean(localCounterpart) && !instancesMap.has(remotePlugin.slug);
|
||||
catalogPlugin.isProvisioned = provisionedSet.has(remotePlugin.slug);
|
||||
}
|
||||
|
||||
catalogPlugins.push(catalogPlugin);
|
||||
|
@ -355,6 +355,13 @@ describe('Plugin details page', () => {
|
||||
expect(await queryByRole('button', { name: /(un)?install/i })).not.toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('should not display install / uninstall buttons for provisioned plugins', async () => {
|
||||
const { queryByRole } = renderPluginDetails({ id, isProvisioned: true });
|
||||
|
||||
expect(await queryByRole('button', { name: /update/i })).not.toBeInTheDocument();
|
||||
expect(await queryByRole('button', { name: /(un)?install/i })).not.toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('should display install link with `config.pluginAdminExternalManageEnabled` set to true', async () => {
|
||||
config.pluginAdminExternalManageEnabled = true;
|
||||
|
||||
|
@ -65,6 +65,7 @@ export interface CatalogPlugin extends WithAccessControlMetadata {
|
||||
isUninstallingFromInstance?: boolean;
|
||||
isUpdatingFromInstance?: boolean;
|
||||
iam?: IdentityAccessManagement;
|
||||
isProvisioned?: boolean;
|
||||
}
|
||||
|
||||
export interface CatalogPluginDetails {
|
||||
|
Loading…
Reference in New Issue
Block a user