From 8583788119e08ba45cd7814d0f793125d024ffb5 Mon Sep 17 00:00:00 2001 From: Peter Holmberg Date: Wed, 10 Oct 2018 13:50:42 +0200 Subject: [PATCH] disable permissions --- .../datasources/DataSourcePermissions.tsx | 30 +++++++++++++------ .../app/features/datasources/state/actions.ts | 7 +++++ 2 files changed, 28 insertions(+), 9 deletions(-) diff --git a/public/app/features/datasources/DataSourcePermissions.tsx b/public/app/features/datasources/DataSourcePermissions.tsx index 010e766393e..506d6fb89b7 100644 --- a/public/app/features/datasources/DataSourcePermissions.tsx +++ b/public/app/features/datasources/DataSourcePermissions.tsx @@ -6,6 +6,7 @@ import DataSourcePermissionsList from './DataSourcePermissionsList'; import { AclTarget } from 'app/types/acl'; import { addDataSourcePermission, + disableDataSourcePermissions, enableDataSourcePermissions, loadDataSourcePermissions, removeDataSourcePermission, @@ -18,6 +19,7 @@ export interface Props { pageId: number; addDataSourcePermission: typeof addDataSourcePermission; enableDataSourcePermissions: typeof enableDataSourcePermissions; + disableDataSourcePermissions: typeof disableDataSourcePermissions; loadDataSourcePermissions: typeof loadDataSourcePermissions; removeDataSourcePermission: typeof removeDataSourcePermission; } @@ -52,6 +54,12 @@ export class DataSourcePermissions extends PureComponent { enableDataSourcePermissions(pageId); }; + onDisablePermissions = () => { + const { pageId, disableDataSourcePermissions } = this.props; + + disableDataSourcePermissions(pageId); + }; + onAddPermission = state => { const { pageId, addDataSourcePermission } = this.props; const data = { @@ -89,16 +97,19 @@ export class DataSourcePermissions extends PureComponent {

Permissions

- {!isPermissionsEnabled && ( - - )} - {isPermissionsEnabled && ( - - )} + , + , + ]}
{!isPermissionsEnabled ? (
@@ -140,6 +151,7 @@ function mapStateToProps(state) { const mapDispatchToProps = { addDataSourcePermission, enableDataSourcePermissions, + disableDataSourcePermissions, loadDataSourcePermissions, removeDataSourcePermission, }; diff --git a/public/app/features/datasources/state/actions.ts b/public/app/features/datasources/state/actions.ts index 379b16b9e06..664ed840928 100644 --- a/public/app/features/datasources/state/actions.ts +++ b/public/app/features/datasources/state/actions.ts @@ -173,6 +173,13 @@ export function enableDataSourcePermissions(id: number): ThunkResult { }; } +export function disableDataSourcePermissions(id: number): ThunkResult { + return async dispatch => { + await getBackendSrv().post(`/api/datasources/${id}/disable-permissions`, {}); + dispatch(loadDataSourcePermissions(id)); + }; +} + export function addDataSourcePermission(id: number, data: object): ThunkResult { return async dispatch => { await getBackendSrv().post(`/api/datasources/${id}/permissions`, data);