From 3ca7102fd0c0d73567cd2afa86a00112dd0fd27f Mon Sep 17 00:00:00 2001 From: Vardan Hakobyan Date: Mon, 28 Mar 2022 11:09:03 +0400 Subject: [PATCH] fix: actually disable backup buttons if the user is not entitled (#955) --- .../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 58f58e082..b3286718c 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 b44f521e4..286a7df5d 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 77106a07b..1ce07b1cb 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 }) => { )}