feat: show exception message from filters in the user interface (#35407)

This commit is contained in:
Felipe Montoya
2025-01-09 12:22:56 -05:00
committed by GitHub
parent d15e520acc
commit 9acdfe6fd2
2 changed files with 5 additions and 0 deletions

View File

@@ -717,6 +717,8 @@ class CourseEnrollment(models.Model):
Also emits relevant events for analytics purposes.
"""
try:
# .. filter_implemented_name: CourseEnrollmentStarted
# .. filter_type: org.openedx.learning.course.enrollment.started.v1
user, course_key, mode = CourseEnrollmentStarted.run_filter(
user=user, course_key=course_key, mode=mode,
)

View File

@@ -70,6 +70,7 @@ from common.djangoapps.student.message_types import AccountActivation, EmailChan
from common.djangoapps.student.models import ( # lint-amnesty, pylint: disable=unused-import
AccountRecovery,
CourseEnrollment,
EnrollmentNotAllowed,
PendingEmailChange, # unimport:skip
PendingSecondaryEmailChange,
Registration,
@@ -422,6 +423,8 @@ def change_enrollment(request, check_access=True):
enroll_mode = CourseMode.auto_enroll_mode(course_id, available_modes)
if enroll_mode:
CourseEnrollment.enroll(user, course_id, check_access=check_access, mode=enroll_mode)
except EnrollmentNotAllowed as exc:
return HttpResponseBadRequest(str(exc))
except Exception: # pylint: disable=broad-except
return HttpResponseBadRequest(_("Could not enroll"))