mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
AccessControl: add permission to datasource permissions navigation selection (#38758)
This commit is contained in:
@@ -1,5 +1,7 @@
|
|||||||
import { DataSourceSettings, PluginType, PluginInclude, NavModel, NavModelItem } from '@grafana/data';
|
import { DataSourceSettings, PluginType, PluginInclude, NavModel, NavModelItem } from '@grafana/data';
|
||||||
import config from 'app/core/config';
|
import config from 'app/core/config';
|
||||||
|
import { contextSrv } from 'app/core/core';
|
||||||
|
import { AccessControlAction } from 'app/types';
|
||||||
import { GenericDataSourcePlugin } from '../settings/PluginSettings';
|
import { GenericDataSourcePlugin } from '../settings/PluginSettings';
|
||||||
|
|
||||||
export function buildNavModel(dataSource: DataSourceSettings, plugin: GenericDataSourcePlugin): NavModelItem {
|
export function buildNavModel(dataSource: DataSourceSettings, plugin: GenericDataSourcePlugin): NavModelItem {
|
||||||
@@ -46,13 +48,15 @@ export function buildNavModel(dataSource: DataSourceSettings, plugin: GenericDat
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (config.licenseInfo.hasLicense) {
|
if (config.licenseInfo.hasLicense) {
|
||||||
navModel.children!.push({
|
if (contextSrv.hasPermission(AccessControlAction.DataSourcesPermissionsRead)) {
|
||||||
active: false,
|
navModel.children!.push({
|
||||||
icon: 'lock',
|
active: false,
|
||||||
id: `datasource-permissions-${dataSource.id}`,
|
icon: 'lock',
|
||||||
text: 'Permissions',
|
id: `datasource-permissions-${dataSource.id}`,
|
||||||
url: `datasources/edit/${dataSource.id}/permissions`,
|
text: 'Permissions',
|
||||||
});
|
url: `datasources/edit/${dataSource.id}/permissions`,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
navModel.children!.push({
|
navModel.children!.push({
|
||||||
active: false,
|
active: false,
|
||||||
|
@@ -39,6 +39,7 @@ export enum AccessControlAction {
|
|||||||
DataSourcesCreate = 'datasources:create',
|
DataSourcesCreate = 'datasources:create',
|
||||||
DataSourcesWrite = 'datasources:write',
|
DataSourcesWrite = 'datasources:write',
|
||||||
DataSourcesDelete = 'datasources:delete',
|
DataSourcesDelete = 'datasources:delete',
|
||||||
|
DataSourcesPermissionsRead = 'datasources.permissions:read',
|
||||||
|
|
||||||
ActionServerStatsRead = 'server.stats:read',
|
ActionServerStatsRead = 'server.stats:read',
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user