From b2eab058c9c41f03e71882b6fe20e3dda5ef7cb0 Mon Sep 17 00:00:00 2001 From: Alexey Date: Tue, 31 Oct 2023 15:57:27 +0300 Subject: [PATCH] CB-3846 feat: allow an administrator to use data export (#2095) Co-authored-by: Daria Marutkina <125263541+dariamarutkina@users.noreply.github.com> --- .../plugin-data-export/src/DataExportMenuService.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/webapp/packages/plugin-data-export/src/DataExportMenuService.ts b/webapp/packages/plugin-data-export/src/DataExportMenuService.ts index 4dcec1dcf6..e3d1b2c220 100644 --- a/webapp/packages/plugin-data-export/src/DataExportMenuService.ts +++ b/webapp/packages/plugin-data-export/src/DataExportMenuService.ts @@ -5,11 +5,12 @@ * Licensed under the Apache License, Version 2.0. * you may not use this file except in compliance with the License. */ +import { EAdminPermission } from '@cloudbeaver/core-authentication'; import { createConnectionParam, DATA_CONTEXT_CONNECTION } from '@cloudbeaver/core-connections'; import { injectable } from '@cloudbeaver/core-di'; import { CommonDialogService, IMenuContext } from '@cloudbeaver/core-dialogs'; -import { LocalizationService } from '@cloudbeaver/core-localization'; import { DATA_CONTEXT_NAV_NODE, EObjectFeature } from '@cloudbeaver/core-navigation-tree'; +import { SessionPermissionsResource } from '@cloudbeaver/core-root'; import { ACTION_EXPORT, ActionService, DATA_CONTEXT_MENU_NESTED, MenuService } from '@cloudbeaver/core-view'; import { IDatabaseDataSource, IDataContainerOptions, ITableFooterMenuContext, TableFooterMenuService } from '@cloudbeaver/plugin-data-viewer'; import type { IDataQueryOptions } from '@cloudbeaver/plugin-sql-editor'; @@ -25,7 +26,7 @@ export class DataExportMenuService { private readonly dataExportSettingsService: DataExportSettingsService, private readonly actionService: ActionService, private readonly menuService: MenuService, - private readonly localizationService: LocalizationService, + private readonly sessionPermissionsResource: SessionPermissionsResource, ) {} register(): void { @@ -106,9 +107,14 @@ export class DataExportMenuService { } private isDisabled() { + if (this.sessionPermissionsResource.has(EAdminPermission.admin)) { + return false; + } + if (this.dataExportSettingsService.settings.isValueDefault('disabled')) { return this.dataExportSettingsService.deprecatedSettings.getValue('disabled'); } + return this.dataExportSettingsService.settings.getValue('disabled'); } }