From 9ece69f9bf812f114097f0746cc93c1071b64757 Mon Sep 17 00:00:00 2001 From: vardanhakobyan Date: Mon, 28 Mar 2022 11:02:07 +0400 Subject: [PATCH] fix: actually disable backup buttons if the user is not entitled --- .../panes/backups-segments/EmailBackups.tsx | 16 +++++++++++++--- .../cloud-backups/CloudBackupProvider.tsx | 4 ++++ .../backups-segments/cloud-backups/index.tsx | 4 ++++ 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/app/assets/javascripts/components/Preferences/panes/backups-segments/EmailBackups.tsx b/app/assets/javascripts/components/Preferences/panes/backups-segments/EmailBackups.tsx index 58f58e08267..b3286718c0e 100644 --- a/app/assets/javascripts/components/Preferences/panes/backups-segments/EmailBackups.tsx +++ b/app/assets/javascripts/components/Preferences/panes/backups-segments/EmailBackups.tsx @@ -122,6 +122,9 @@ export const EmailBackups = observer(({ application }: Props) => { }; const toggleMuteFailedBackupEmails = async () => { + if (!isEntitledToEmailBackups) { + return; + } const previousValue = isFailedBackupEmailMuted; setIsFailedBackupEmailMuted(!isFailedBackupEmailMuted); @@ -134,6 +137,13 @@ export const EmailBackups = observer(({ application }: Props) => { } }; + const handleEmailFrequencyChange = (item: string) => { + if (!isEntitledToEmailBackups) { + return; + } + updateEmailFrequency(item as EmailBackupFrequency); + }; + return ( @@ -176,9 +186,8 @@ export const EmailBackups = observer(({ application }: Props) => { label="Select email frequency" items={emailFrequencyOptions} value={emailFrequency} - onChange={(item) => { - updateEmailFrequency(item as EmailBackupFrequency); - }} + onChange={handleEmailFrequencyChange} + disabled={!isEntitledToEmailBackups} /> )} @@ -196,6 +205,7 @@ export const EmailBackups = observer(({ application }: Props) => { )} diff --git a/app/assets/javascripts/components/Preferences/panes/backups-segments/cloud-backups/CloudBackupProvider.tsx b/app/assets/javascripts/components/Preferences/panes/backups-segments/cloud-backups/CloudBackupProvider.tsx index b44f521e4ef..286a7df5dd3 100644 --- a/app/assets/javascripts/components/Preferences/panes/backups-segments/cloud-backups/CloudBackupProvider.tsx +++ b/app/assets/javascripts/components/Preferences/panes/backups-segments/cloud-backups/CloudBackupProvider.tsx @@ -54,6 +54,9 @@ export const CloudBackupProvider: FunctionComponent = ({ }; const installIntegration = (event: Event) => { + if (!isEntitledToCloudBackups) { + return; + } event.stopPropagation(); const authUrl = application.getCloudProviderIntegrationUrl( @@ -223,6 +226,7 @@ export const CloudBackupProvider: FunctionComponent = ({ label="Enable" className={`px-1 text-xs min-w-40 ${additionalClass}`} onClick={installIntegration} + disabled={!isEntitledToCloudBackups} /> )} diff --git a/app/assets/javascripts/components/Preferences/panes/backups-segments/cloud-backups/index.tsx b/app/assets/javascripts/components/Preferences/panes/backups-segments/cloud-backups/index.tsx index 77106a07b9d..1ce07b1cb50 100644 --- a/app/assets/javascripts/components/Preferences/panes/backups-segments/cloud-backups/index.tsx +++ b/app/assets/javascripts/components/Preferences/panes/backups-segments/cloud-backups/index.tsx @@ -98,6 +98,9 @@ export const CloudLink: FunctionComponent = ({ application }) => { }; const toggleMuteFailedCloudBackupEmails = async () => { + if (!isEntitledToCloudBackups) { + return; + } const previousValue = isFailedCloudBackupEmailMuted; setIsFailedCloudBackupEmailMuted(!isFailedCloudBackupEmailMuted); @@ -165,6 +168,7 @@ export const CloudLink: FunctionComponent = ({ application }) => { )}