refactor: update account verification messages (#29329)

* refactor: update account verification messages

* fix: quality check
This commit is contained in:
Zainab Amir
2021-12-07 17:16:16 +05:00
committed by GitHub
parent 6c6cf0ad0b
commit 5f77890c58
2 changed files with 31 additions and 4 deletions

View File

@@ -166,6 +166,22 @@ class TestActivateAccount(TestCase):
self.assertRedirects(response, login_page_url)
self.assertContains(response, 'Your account could not be activated')
@override_settings(MARKETING_EMAILS_OPT_IN=True)
def test_email_confirmation_notification_on_logistration(self):
"""
Verify that logistration page displays success/error/info messages
about email confirmation instead of activation when MARKETING_EMAILS_OPT_IN
is set to True.
"""
response = self.client.get(reverse('activate', args=[self.registration.activation_key]), follow=True)
self.assertContains(response, 'Success! You have confirmed your email.')
response = self.client.get(reverse('activate', args=[self.registration.activation_key]), follow=True)
self.assertContains(response, 'This email has already been confirmed.')
response = self.client.get(reverse('activate', args=[uuid4().hex]), follow=True)
self.assertContains(response, 'Your email could not be confirmed')
@override_settings(LOGIN_REDIRECT_WHITELIST=['localhost:1991'])
@override_settings(FEATURES={**FEATURES_WITH_AUTHN_MFE_ENABLED, 'ENABLE_ENTERPRISE_INTEGRATION': True})
@override_waffle_flag(REDIRECT_TO_AUTHN_MICROFRONTEND, active=True)

View File

@@ -516,10 +516,15 @@ def activate_account(request, key):
monitoring_utils.set_custom_attribute('student_activate_account', 'lms')
activation_message_type = None
activated_or_confirmed = 'confirmed' if settings.MARKETING_EMAILS_OPT_IN else 'activated'
account_or_email = 'email' if settings.MARKETING_EMAILS_OPT_IN else 'account'
invalid_message = HTML(_(
'{html_start}Your account could not be activated{html_end}'
'{html_start}Your {account_or_email} could not be {activated_or_confirmed}{html_end}'
'Something went wrong, please <a href="{support_url}">contact support</a> to resolve this issue.'
)).format(
account_or_email=account_or_email,
activated_or_confirmed=activated_or_confirmed,
support_url=configuration_helpers.get_value(
'ACTIVATION_EMAIL_SUPPORT_LINK', settings.ACTIVATION_EMAIL_SUPPORT_LINK
) or settings.SUPPORT_SITE_LINK,
@@ -549,7 +554,11 @@ def activate_account(request, key):
activation_message_type = 'info'
messages.info(
request,
HTML(_('{html_start}This account has already been activated.{html_end}')).format(
HTML(_(
'{html_start}This {account_or_email} has already been {activated_or_confirmed}.{html_end}'
)).format(
account_or_email=account_or_email,
activated_or_confirmed=activated_or_confirmed,
html_start=HTML('<p class="message-title">'),
html_end=HTML('</p>'),
),
@@ -558,7 +567,7 @@ def activate_account(request, key):
else:
registration.activate()
# Success message for logged in users.
message = _('{html_start}Success{html_end} You have activated your account.')
message = _('{html_start}Success{html_end} You have {activated_or_confirmed} your {account_or_email}.')
tracker.emit(
USER_ACCOUNT_ACTIVATED,
@@ -571,7 +580,7 @@ def activate_account(request, key):
if not request.user.is_authenticated:
# Success message for logged out users
message = _(
'{html_start}Success! You have activated your account.{html_end}'
'{html_start}Success! You have {activated_or_confirmed} your {account_or_email}.{html_end}'
'You will now receive email updates and alerts from us related to'
' the courses you are enrolled in. Sign In to continue.'
)
@@ -581,6 +590,8 @@ def activate_account(request, key):
messages.success(
request,
HTML(message).format(
account_or_email=account_or_email,
activated_or_confirmed=activated_or_confirmed,
html_start=HTML('<p class="message-title">'),
html_end=HTML('</p>'),
),