From 85db5cc96561d1aa9a9603d3044a4ae7462f0b95 Mon Sep 17 00:00:00 2001 From: Sangeeth Sivan <74818788+berzerkeer@users.noreply.github.com> Date: Fri, 2 Dec 2022 18:05:18 +0530 Subject: [PATCH] fix: update permission driven ctas to handle auto save update changes (#18609) --- .../SaveOrDiscardDatasourceModal.tsx | 22 +++++++++++++++++-- .../pages/Editor/DataSourceEditor/index.tsx | 2 ++ .../Editor/SaaSEditor/DatasourceForm.tsx | 2 ++ .../src/pages/common/datasourceAuth/index.tsx | 10 ++++++--- 4 files changed, 31 insertions(+), 5 deletions(-) diff --git a/app/client/src/pages/Editor/DataSourceEditor/SaveOrDiscardDatasourceModal.tsx b/app/client/src/pages/Editor/DataSourceEditor/SaveOrDiscardDatasourceModal.tsx index a4a2714ee0..bd8d05fdb9 100644 --- a/app/client/src/pages/Editor/DataSourceEditor/SaveOrDiscardDatasourceModal.tsx +++ b/app/client/src/pages/Editor/DataSourceEditor/SaveOrDiscardDatasourceModal.tsx @@ -10,16 +10,33 @@ import { DialogComponent as Dialog, Size, } from "design-system"; +import { TEMP_DATASOURCE_ID } from "constants/Datasource"; +import { hasManageDatasourcePermission } from "@appsmith/utils/permissionHelpers"; interface SaveOrDiscardModalProps { isOpen: boolean; onDiscard(): void; onSave?(): void; onClose(): void; + datasourceId: string; + datasourcePermissions: string[]; } function SaveOrDiscardDatasourceModal(props: SaveOrDiscardModalProps) { - const { isOpen, onClose, onDiscard, onSave } = props; + const { + datasourceId, + datasourcePermissions, + isOpen, + onClose, + onDiscard, + onSave, + } = props; + + const createMode = datasourceId === TEMP_DATASOURCE_ID; + const canManageDatasources = hasManageDatasourcePermission( + datasourcePermissions, + ); + const disableSaveButton = !createMode && !canManageDatasources; return (