Commit 75e45bc2 by stephensanchez

Update the API and Data Layer to get the student from the models.

parent 87af92a1
...@@ -103,10 +103,7 @@ def get_enrollments(student_id): ...@@ -103,10 +103,7 @@ def get_enrollments(student_id):
] ]
""" """
enrollments = _data_api().get_course_enrollments(student_id) return _data_api().get_course_enrollments(student_id)
for enrollment in enrollments:
enrollment['student'] = student_id
return enrollments
def get_enrollment(student_id, course_id): def get_enrollment(student_id, course_id):
...@@ -148,9 +145,7 @@ def get_enrollment(student_id, course_id): ...@@ -148,9 +145,7 @@ def get_enrollment(student_id, course_id):
} }
""" """
enrollment = _data_api().get_course_enrollment(student_id, course_id) return _data_api().get_course_enrollment(student_id, course_id)
enrollment['student'] = student_id
return enrollment
def add_enrollment(student_id, course_id, mode='honor', is_active=True): def add_enrollment(student_id, course_id, mode='honor', is_active=True):
...@@ -196,9 +191,7 @@ def add_enrollment(student_id, course_id, mode='honor', is_active=True): ...@@ -196,9 +191,7 @@ def add_enrollment(student_id, course_id, mode='honor', is_active=True):
} }
""" """
_validate_course_mode(course_id, mode) _validate_course_mode(course_id, mode)
enrollment = _data_api().update_course_enrollment(student_id, course_id, mode=mode, is_active=is_active) return _data_api().update_course_enrollment(student_id, course_id, mode=mode, is_active=is_active)
enrollment['student'] = student_id
return enrollment
def deactivate_enrollment(student_id, course_id): def deactivate_enrollment(student_id, course_id):
...@@ -246,9 +239,7 @@ def deactivate_enrollment(student_id, course_id): ...@@ -246,9 +239,7 @@ def deactivate_enrollment(student_id, course_id):
u"No enrollment was found for student {student} in course {course}" u"No enrollment was found for student {student} in course {course}"
.format(student=student_id, course=course_id) .format(student=student_id, course=course_id)
) )
enrollment = _data_api().update_course_enrollment(student_id, course_id, is_active=False) return _data_api().update_course_enrollment(student_id, course_id, is_active=False)
enrollment['student'] = student_id
return enrollment
def update_enrollment(student_id, course_id, mode): def update_enrollment(student_id, course_id, mode):
...@@ -292,9 +283,7 @@ def update_enrollment(student_id, course_id, mode): ...@@ -292,9 +283,7 @@ def update_enrollment(student_id, course_id, mode):
""" """
_validate_course_mode(course_id, mode) _validate_course_mode(course_id, mode)
enrollment = _data_api().update_course_enrollment(student_id, course_id, mode) return _data_api().update_course_enrollment(student_id, course_id, mode)
enrollment['student'] = student_id
return enrollment
def get_course_enrollment_details(course_id): def get_course_enrollment_details(course_id):
......
...@@ -54,10 +54,15 @@ class CourseEnrollmentSerializer(serializers.ModelSerializer): ...@@ -54,10 +54,15 @@ class CourseEnrollmentSerializer(serializers.ModelSerializer):
""" """
course = CourseField() course = CourseField()
student = serializers.SerializerMethodField('get_username')
def get_username(self, model):
"""Retrieves the username from the associated model."""
return model.username
class Meta: # pylint: disable=C0111 class Meta: # pylint: disable=C0111
model = CourseEnrollment model = CourseEnrollment
fields = ('created', 'mode', 'is_active', 'course') fields = ('created', 'mode', 'is_active', 'course', 'student')
lookup_field = 'username' lookup_field = 'username'
......
...@@ -156,6 +156,7 @@ class EnrollmentDataTest(ModuleStoreTestCase): ...@@ -156,6 +156,7 @@ class EnrollmentDataTest(ModuleStoreTestCase):
) )
# Get the enrollment and compare it to the original. # Get the enrollment and compare it to the original.
result = data.get_course_enrollment(self.user.username, unicode(self.course.id)) result = data.get_course_enrollment(self.user.username, unicode(self.course.id))
self.assertEqual(self.user.username, result['student'])
self.assertEqual(enrollment, result) self.assertEqual(enrollment, result)
@raises(NonExistentCourseError) @raises(NonExistentCourseError)
......
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