Merge branch 'master' into issue-35271-unpin-markdown

This commit is contained in:
Ram Chandra Bhavirisetty
2025-05-17 00:27:53 -06:00
committed by GitHub
7 changed files with 33 additions and 5 deletions

View File

@@ -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',),
),
]

View File

@@ -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

View File

@@ -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);
}
},

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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