From 51639030f0adb6d09797222fd3689b5be2268221 Mon Sep 17 00:00:00 2001 From: Jessica Lawshe <5312836+lawshe@users.noreply.github.com> Date: Thu, 20 Nov 2025 08:53:03 -0600 Subject: [PATCH] Merge pull request #29175 from overleaf/jel-new-user-domain-capture [web] Managed users enrollment before user is created via domain capture GitOrigin-RevId: af8ad32a9100413eb913372400bdb4a342d6710f --- services/web/app/src/Features/Errors/Errors.js | 3 +++ services/web/frontend/extracted-translations.json | 3 +++ services/web/frontend/js/utils/meta.ts | 2 ++ services/web/locales/en.json | 3 +++ 4 files changed, 11 insertions(+) diff --git a/services/web/app/src/Features/Errors/Errors.js b/services/web/app/src/Features/Errors/Errors.js index 94a155fb3f..b19f4f4344 100644 --- a/services/web/app/src/Features/Errors/Errors.js +++ b/services/web/app/src/Features/Errors/Errors.js @@ -81,6 +81,8 @@ class SAMLCommonsUnavailable extends OError { } } +class SAMLDomainCaptureError extends OError {} + class SAMLIdentityExistsError extends OError { get i18nKey() { return 'institution_account_tried_to_add_already_registered' @@ -357,6 +359,7 @@ module.exports = { SAMLAssertionAudienceMismatch, SAMLAuthenticationRequiredError, SAMLCommonsUnavailable, + SAMLDomainCaptureError, SAMLIdentityExistsError, SAMLAlreadyLinkedError, SAMLEmailNotAffiliatedError, diff --git a/services/web/frontend/extracted-translations.json b/services/web/frontend/extracted-translations.json index ef301a8a01..46b0a2ab86 100644 --- a/services/web/frontend/extracted-translations.json +++ b/services/web/frontend/extracted-translations.json @@ -447,6 +447,7 @@ "display": "", "display_deleted_user": "", "display_math": "", + "do_not_create_account": "", "do_you_need_edit_access": "", "do_you_want_to_change_your_primary_email_address_to": "", "do_you_want_to_overwrite_it": "", @@ -539,6 +540,7 @@ "email_does_not_belong_to_university": "", "email_limit_reached": "", "email_link_expired": "", + "email_managed_by_group_is": "", "email_must_be_linked_to_institution": "", "email_or_password_wrong_try_again": "", "email_remove_by_date": "", @@ -2240,6 +2242,7 @@ "youll_no_longer_need_to_remember_credentials": "", "your_account_is_managed_by_admin_cant_join_additional_group": "", "your_account_is_managed_by_your_group_admin": "", + "your_account_will_be_managed_by_group": "", "your_add_on_has_been_cancelled_and_will_remain_active_until_your_billing_cycle_ends_on": "", "your_affiliation_is_confirmed": "", "your_browser_does_not_support_this_feature": "", diff --git a/services/web/frontend/js/utils/meta.ts b/services/web/frontend/js/utils/meta.ts index c5d8a5bca8..f1ad9523a1 100644 --- a/services/web/frontend/js/utils/meta.ts +++ b/services/web/frontend/js/utils/meta.ts @@ -104,6 +104,7 @@ export interface Meta { 'ol-compilesUserContentDomain': string 'ol-countryCode': PricingFormState['country'] 'ol-couponCode': PricingFormState['coupon'] + 'ol-createNewUserViaDomainCapture': boolean 'ol-createdAt': Date 'ol-csrfToken': string 'ol-currentInstitutionsWithLicence': Institution[] @@ -166,6 +167,7 @@ export interface Meta { 'ol-i18n': { currentLangCode: string } 'ol-imageNames': ImageName[] 'ol-inactiveTutorials': string[] + 'ol-institutionEmail': string | undefined 'ol-institutionEmailNonCanonical': string | undefined 'ol-institutionLinked': InstitutionLink | undefined 'ol-inviteToken': string diff --git a/services/web/locales/en.json b/services/web/locales/en.json index 8b5ec7704e..94883969ad 100644 --- a/services/web/locales/en.json +++ b/services/web/locales/en.json @@ -574,6 +574,7 @@ "display": "Display", "display_deleted_user": "Display deleted users", "display_math": "Display math", + "do_not_create_account": "Do not create account", "do_not_have_acct_or_do_not_want_to_link": "If you don’t have an __appName__ account, or if you don’t want to link to your __institutionName__ account, please click __clickText__.", "do_not_link_accounts": "Don’t link accounts", "do_you_need_edit_access": "Do you need edit access?", @@ -685,6 +686,7 @@ "email_does_not_belong_to_university": "We don’t recognize that domain as being affiliated with your university. Please contact us to add the affiliation.", "email_limit_reached": "You can have a maximum of <0>__emailAddressLimit__ email addresses on this account. To add another email address, please delete an existing one.", "email_link_expired": "Email link expired, please request a new one.", + "email_managed_by_group_is": "The email address that will be managed by your group is <0>__email__.", "email_must_be_linked_to_institution": "As a member of __institutionName__, this email address can only be added via single sign-on on your <0>account settings page. Please add a different recovery email address.", "email_or_password_wrong_try_again": "Your email or password is incorrect. Please try again.", "email_or_password_wrong_try_again_or_reset": "Your email or password is incorrect. Please try again, or <0>set or reset your password.", @@ -2794,6 +2796,7 @@ "your_account_is_managed_by_admin_cant_join_additional_group": "Your __appName__ account is managed by your current group admin (__admin__). This means you can’t join additional group subscriptions. <0>Read more about Managed Users.", "your_account_is_managed_by_your_group_admin": "Your account is managed by your group admin. You can’t change or delete your email address.", "your_account_is_suspended": "Your account is suspended", + "your_account_will_be_managed_by_group": "Your __appName__ account will be managed by __groupName__", "your_add_on_has_been_cancelled_and_will_remain_active_until_your_billing_cycle_ends_on": "Your add-on has been cancelled and will remain active until your billing cycle ends on __nextBillingDate__", "your_affiliation_is_confirmed": "Your <0>__institutionName__ affiliation is confirmed.", "your_browser_does_not_support_this_feature": "Sorry, your browser doesn’t support this feature. Please update your browser to its latest version.",