From 5676ec2eed5f05d4e7cc9a4ba9f36c7dca4006f8 Mon Sep 17 00:00:00 2001 From: Miguel Serrano Date: Tue, 24 May 2022 13:12:55 +0200 Subject: [PATCH] Merge pull request #8102 from overleaf/msm-fix-sso-available [Settings] Fix `ssoAvailable` not set GitOrigin-RevId: c3264682bcf3c1beb2050378875c164d960e15c1 --- .../components/emails/actions/make-primary.tsx | 7 ++++++- .../js/features/settings/components/emails/email.tsx | 11 +++++++---- services/web/types/user-email.ts | 1 - 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/services/web/frontend/js/features/settings/components/emails/actions/make-primary.tsx b/services/web/frontend/js/features/settings/components/emails/actions/make-primary.tsx index 168a0bc35f..dcbec47dd7 100644 --- a/services/web/frontend/js/features/settings/components/emails/actions/make-primary.tsx +++ b/services/web/frontend/js/features/settings/components/emails/actions/make-primary.tsx @@ -12,6 +12,7 @@ import { } from '../../../context/user-email-context' import { UserEmailData } from '../../../../../../../types/user-email' import { UseAsyncReturnType } from '../../../../../shared/hooks/use-async' +import { ssoAvailableForInstitution } from '../../../utils/sso' const getDescription = ( t: (s: string) => string, @@ -26,8 +27,12 @@ const getDescription = ( return t('make_email_primary_description') } + const ssoAvailable = ssoAvailableForInstitution( + userEmailData.affiliation?.institution + ) + if (!institutionAlreadyLinked(state, userEmailData)) { - return userEmailData.ssoAvailable + return ssoAvailable ? t('please_link_before_making_primary') : t('please_confirm_your_email_before_making_it_default') } diff --git a/services/web/frontend/js/features/settings/components/emails/email.tsx b/services/web/frontend/js/features/settings/components/emails/email.tsx index 63e2d69cea..e227604e92 100644 --- a/services/web/frontend/js/features/settings/components/emails/email.tsx +++ b/services/web/frontend/js/features/settings/components/emails/email.tsx @@ -1,6 +1,7 @@ import { useTranslation } from 'react-i18next' import { UserEmailData } from '../../../../../../types/user-email' import ResendConfirmationEmailButton from './resend-confirmation-email-button' +import { ssoAvailableForInstitution } from '../../utils/sso' type EmailProps = { userEmailData: UserEmailData @@ -9,6 +10,10 @@ type EmailProps = { function Email({ userEmailData }: EmailProps) { const { t } = useTranslation() + const ssoAvailable = ssoAvailableForInstitution( + userEmailData.affiliation?.institution + ) + return ( <> {userEmailData.email} @@ -17,12 +22,10 @@ function Email({ userEmailData }: EmailProps) {
{t('unconfirmed')}. - {!userEmailData.ssoAvailable && ( - {t('please_check_your_inbox')}. - )} + {!ssoAvailable && {t('please_check_your_inbox')}.}
- {!userEmailData.ssoAvailable && ( + {!ssoAvailable && ( )}
diff --git a/services/web/types/user-email.ts b/services/web/types/user-email.ts index fc5328e0e5..f6dc33a00f 100644 --- a/services/web/types/user-email.ts +++ b/services/web/types/user-email.ts @@ -6,6 +6,5 @@ export type UserEmailData = { email: string default: boolean samlProviderId?: string - ssoAvailable?: boolean emailHasInstitutionLicence?: boolean }