Commit 94b8b0ac by Julia Hansbrough

all CourseEnrollment modifications route through create_or_update

parent 73af5d01
...@@ -872,12 +872,11 @@ class CourseEnrollment(models.Model): ...@@ -872,12 +872,11 @@ class CourseEnrollment(models.Model):
""" """
try: try:
record = CourseEnrollment.objects.get(user=user, course_id=course_id) record = CourseEnrollment.objects.get(user=user, course_id=course_id)
if record.is_active: cls.create_or_update_enrollment(user, course_id, record.mode, is_active=False)
record.is_active = False unenroll_done.send(sender=cls, course_enrollment=record)
record.save()
record.emit_event(EVENT_NAME_ENROLLMENT_DEACTIVATED) # TODO: Do we still need to emit this event since unenroll now calls create_or_update_enrollment?
unenroll_done.send(sender=cls, course_enrollment=record) #record.emit_event(EVENT_NAME_ENROLLMENT_DEACTIVATED)
except cls.DoesNotExist: except cls.DoesNotExist:
err_msg = u"Tried to unenroll student {} from {} but they were not enrolled" err_msg = u"Tried to unenroll student {} from {} but they were not enrolled"
...@@ -968,8 +967,7 @@ class CourseEnrollment(models.Model): ...@@ -968,8 +967,7 @@ class CourseEnrollment(models.Model):
"""Makes this `CourseEnrollment` record active. Saves immediately.""" """Makes this `CourseEnrollment` record active. Saves immediately."""
if not self.is_active: if not self.is_active:
self.is_active = True self.is_active = True
self.save() CourseEnrollment.create_or_update_enrollment(self.user, self.course_id, self.mode, True)
self.emit_event(EVENT_NAME_ENROLLMENT_ACTIVATED)
def deactivate(self): def deactivate(self):
"""Makes this `CourseEnrollment` record inactive. Saves immediately. An """Makes this `CourseEnrollment` record inactive. Saves immediately. An
...@@ -977,8 +975,11 @@ class CourseEnrollment(models.Model): ...@@ -977,8 +975,11 @@ class CourseEnrollment(models.Model):
""" """
if self.is_active: if self.is_active:
self.is_active = False self.is_active = False
self.save() CourseEnrollment.create_or_update_enrollment(self.user, self.course_id, self.mode, False)
self.emit_event(EVENT_NAME_ENROLLMENT_DEACTIVATED)
def change_mode(self, mode):
self.mode = mode
CourseEnrollment.create_or_update_enrollment(self.user, self.course_id, mode, self.is_active)
def refundable(self): def refundable(self):
""" """
...@@ -992,7 +993,6 @@ class CourseEnrollment(models.Model): ...@@ -992,7 +993,6 @@ class CourseEnrollment(models.Model):
return True return True
class CourseEnrollmentAllowed(models.Model): class CourseEnrollmentAllowed(models.Model):
""" """
Table of users (specified by email address strings) who are allowed to enroll in a specified course. Table of users (specified by email address strings) who are allowed to enroll in a specified course.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment