Skip to content

Commit 89e3d18

Browse files
fix: strip end slash if any when using a subpath (#36870)
While trying to be enrolled on a verified course, the upgrade process gets to an error screen due to a double slash on the URL that it's added while doing the redirection to the account microfrontend Will be backported to Teak. Part of openedx/wg-build-test-release#468
1 parent 29c1268 commit 89e3d18

4 files changed

Lines changed: 8 additions & 4 deletions

File tree

lms/djangoapps/verify_student/management/commands/send_verification_expiry_email.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,10 +188,11 @@ def send_verification_expiry_email(self, batch_verifications, email_config):
188188
return True
189189

190190
site = Site.objects.get_current()
191+
account_base_url = settings.ACCOUNT_MICROFRONTEND_URL.rstrip('/')
191192
message_context = get_base_template_context(site)
192193
message_context.update({
193194
'platform_name': settings.PLATFORM_NAME,
194-
'lms_verification_link': f'{settings.ACCOUNT_MICROFRONTEND_URL}/id-verification',
195+
'lms_verification_link': f'{account_base_url}/id-verification',
195196
'help_center_link': settings.ID_VERIFICATION_SUPPORT_LINK
196197
})
197198

lms/djangoapps/verify_student/services.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,8 @@ def get_verify_location(cls, course_id=None):
251251
Returns a string:
252252
Returns URL for IDV on Account Microfrontend
253253
"""
254-
location = f'{settings.ACCOUNT_MICROFRONTEND_URL}/id-verification'
254+
account_base_url = settings.ACCOUNT_MICROFRONTEND_URL.rstrip('/')
255+
location = f'{account_base_url}/id-verification'
255256
if course_id:
256257
location += f'?course_id={quote(str(course_id))}'
257258

lms/djangoapps/verify_student/views.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1128,7 +1128,8 @@ def results_callback(request): # lint-amnesty, pylint: disable=too-many-stateme
11281128
log.info("[COSMO-184] Denied verification for receipt_id={receipt_id}.".format(receipt_id=receipt_id))
11291129

11301130
attempt.deny(json.dumps(reason), error_code=error_code)
1131-
reverify_url = f'{settings.ACCOUNT_MICROFRONTEND_URL}/id-verification'
1131+
account_base_url = settings.ACCOUNT_MICROFRONTEND_URL.rstrip('/')
1132+
reverify_url = f'{account_base_url}/id-verification'
11321133
verification_status_email_vars['reasons'] = reason
11331134
verification_status_email_vars['reverify_url'] = reverify_url
11341135
verification_status_email_vars['faq_url'] = settings.ID_VERIFICATION_SUPPORT_LINK

openedx/core/djangoapps/notifications/email/utils.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,13 +97,14 @@ def create_email_template_context(username):
9797
'channel': 'email',
9898
'value': False
9999
}
100+
account_base_url = settings.ACCOUNT_MICROFRONTEND_URL.rstrip('/')
100101
return {
101102
"platform_name": settings.PLATFORM_NAME,
102103
"mailing_address": settings.CONTACT_MAILING_ADDRESS,
103104
"logo_url": get_logo_url_for_email(),
104105
"logo_notification_cadence_url": settings.NOTIFICATION_DIGEST_LOGO,
105106
"social_media": social_media_info,
106-
"notification_settings_url": f"{settings.ACCOUNT_MICROFRONTEND_URL}/#notifications",
107+
"notification_settings_url": f"{account_base_url}/#notifications",
107108
"unsubscribe_url": get_unsubscribe_link(username, patch)
108109
}
109110

0 commit comments

Comments
 (0)