Merge pull request #13684 from edx/student_cleanup/decoupled_dependencies

Decouple student's dependency on badges with django signals
This commit is contained in:
Nimisha Asthagiri
2016-10-07 13:44:11 -04:00
committed by GitHub
5 changed files with 40 additions and 7 deletions

View File

@@ -47,7 +47,6 @@ from simple_history.models import HistoricalRecords
from track import contexts
from openedx.core.djangoapps.xmodule_django.models import CourseKeyField, NoneToEmptyManager
from lms.djangoapps.badges.utils import badges_enabled
from certificates.models import GeneratedCertificate
from course_modes.models import CourseMode
from enrollment.api import _default_course_mode
@@ -1297,9 +1296,7 @@ class CourseEnrollment(models.Model):
# User is allowed to enroll if they've reached this point.
enrollment = cls.get_or_create_enrollment(user, course_key)
enrollment.update_enrollment(is_active=True, mode=mode)
if badges_enabled():
from lms.djangoapps.badges.events.course_meta import award_enrollment_badge
award_enrollment_badge(user)
enrollment.send_signal(EnrollStatusChange.enroll)
return enrollment

View File

@@ -1079,8 +1079,7 @@ def change_enrollment(request, check_access=True):
try:
enroll_mode = CourseMode.auto_enroll_mode(course_id, available_modes)
if enroll_mode:
enrollment = CourseEnrollment.enroll(user, course_id, check_access=check_access, mode=enroll_mode)
enrollment.send_signal(EnrollStatusChange.enroll)
CourseEnrollment.enroll(user, course_id, check_access=check_access, mode=enroll_mode)
except Exception: # pylint: disable=broad-except
return HttpResponseBadRequest(_("Could not enroll"))