diff --git a/lms/djangoapps/coursewarehistoryextended/migrations/0003_rename_studentmodulehistoryextended_student_module_student_module_idx.py b/lms/djangoapps/coursewarehistoryextended/migrations/0003_rename_studentmodulehistoryextended_student_module_student_module_idx.py new file mode 100644 index 0000000000..c39e2410b5 --- /dev/null +++ b/lms/djangoapps/coursewarehistoryextended/migrations/0003_rename_studentmodulehistoryextended_student_module_student_module_idx.py @@ -0,0 +1,18 @@ +# Generated by Django 4.2.20 on 2025-05-15 03:30 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('coursewarehistoryextended', '0002_force_studentmodule_index'), + ] + + operations = [ + migrations.RenameIndex( + model_name='studentmodulehistoryextended', + new_name='student_module_idx', + old_fields=('student_module',), + ), + ] diff --git a/lms/djangoapps/coursewarehistoryextended/models.py b/lms/djangoapps/coursewarehistoryextended/models.py index 37de4a93ab..d9e2d54cca 100644 --- a/lms/djangoapps/coursewarehistoryextended/models.py +++ b/lms/djangoapps/coursewarehistoryextended/models.py @@ -33,7 +33,12 @@ class StudentModuleHistoryExtended(BaseStudentModuleHistory): class Meta: app_label = 'coursewarehistoryextended' get_latest_by = "created" - index_together = ['student_module'] + indexes = [ + models.Index( + fields=['student_module'], + name="student_module_idx" + ), + ] id = UnsignedBigIntAutoField(primary_key=True) # pylint: disable=invalid-name diff --git a/lms/static/js/student_account/views/FinishAuthView.js b/lms/static/js/student_account/views/FinishAuthView.js index f9ae7157ed..02f94c89a7 100644 --- a/lms/static/js/student_account/views/FinishAuthView.js +++ b/lms/static/js/student_account/views/FinishAuthView.js @@ -68,7 +68,9 @@ this.purchaseWorkflow = queryParams.purchaseWorkflow; if (queryParams.next) { // Ensure that the next URL is internal for security reasons + this.updateTaskDescription(gettext("query param next is provide")); if (!window.isExternal(queryParams.next)) { + this.updateTaskDescription(gettext("query param next is internal")); this.nextUrl = queryParams.next; } } @@ -135,6 +137,7 @@ The track selection page would allow the user to select the course mode ("verified", "honor", etc.) -- or, if the only course mode was "honor", it would redirect the user to the dashboard. */ + this.updateTaskDescription(gettext("course mode param is not provided")); redirectUrl = this.appendPurchaseWorkflow(this.urls.trackSelection + courseId + '/'); } else if (this.courseMode === 'honor' || this.courseMode === 'audit') { /* The newer version of the course details page allows the user @@ -142,6 +145,7 @@ chosen "honor", we send them immediately to the next URL rather than the payment flow. The user may decide to upgrade from the dashboard later. */ + this.updateTaskDescription(gettext("course mode param is provided")); } else { /* If the user selected any other kind of course mode, send them to the payment/verification flow. */ @@ -160,6 +164,7 @@ shoppingCartInterface.addCourseToCart(this.courseId); } else { // Otherwise, redirect the user to the next page. + this.updateTaskDescription(gettext(" redirect the user to the next page")); this.redirect(redirectUrl); } }, diff --git a/requirements/edx/base.txt b/requirements/edx/base.txt index 18e4848f19..de0992f364 100644 --- a/requirements/edx/base.txt +++ b/requirements/edx/base.txt @@ -303,7 +303,7 @@ django-mptt==0.17.0 # via # -r requirements/edx/kernel.in # openedx-django-wiki -django-multi-email-field==0.7.0 +django-multi-email-field==0.8.0 # via edx-enterprise django-mysql==4.16.0 # via -r requirements/edx/kernel.in diff --git a/requirements/edx/development.txt b/requirements/edx/development.txt index f5a4cc3557..f50b6253ac 100644 --- a/requirements/edx/development.txt +++ b/requirements/edx/development.txt @@ -506,7 +506,7 @@ django-mptt==0.17.0 # -r requirements/edx/doc.txt # -r requirements/edx/testing.txt # openedx-django-wiki -django-multi-email-field==0.7.0 +django-multi-email-field==0.8.0 # via # -r requirements/edx/doc.txt # -r requirements/edx/testing.txt diff --git a/requirements/edx/doc.txt b/requirements/edx/doc.txt index 4024de55cc..1b1d90b4fa 100644 --- a/requirements/edx/doc.txt +++ b/requirements/edx/doc.txt @@ -369,7 +369,7 @@ django-mptt==0.17.0 # via # -r requirements/edx/base.txt # openedx-django-wiki -django-multi-email-field==0.7.0 +django-multi-email-field==0.8.0 # via # -r requirements/edx/base.txt # edx-enterprise diff --git a/requirements/edx/testing.txt b/requirements/edx/testing.txt index a5f3462031..aee4e51a8f 100644 --- a/requirements/edx/testing.txt +++ b/requirements/edx/testing.txt @@ -399,7 +399,7 @@ django-mptt==0.17.0 # via # -r requirements/edx/base.txt # openedx-django-wiki -django-multi-email-field==0.7.0 +django-multi-email-field==0.8.0 # via # -r requirements/edx/base.txt # edx-enterprise