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):
]
"""
enrollments = _data_api().get_course_enrollments(student_id)
for enrollment in enrollments:
enrollment['student'] = student_id
return enrollments
return _data_api().get_course_enrollments(student_id)
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)
enrollment['student'] = student_id
return enrollment
return _data_api().get_course_enrollment(student_id, course_id)
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)
enrollment = _data_api().update_course_enrollment(student_id, course_id, mode=mode, is_active=is_active)
enrollment['student'] = student_id
return enrollment
return _data_api().update_course_enrollment(student_id, course_id, mode=mode, is_active=is_active)
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}"
.format(student=student_id, course=course_id)
)
enrollment = _data_api().update_course_enrollment(student_id, course_id, is_active=False)
enrollment['student'] = student_id
return enrollment
return _data_api().update_course_enrollment(student_id, course_id, is_active=False)
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)
enrollment = _data_api().update_course_enrollment(student_id, course_id, mode)
enrollment['student'] = student_id
return enrollment
return _data_api().update_course_enrollment(student_id, course_id, mode)
def get_course_enrollment_details(course_id):
......
......@@ -54,10 +54,15 @@ class CourseEnrollmentSerializer(serializers.ModelSerializer):
"""
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
model = CourseEnrollment
fields = ('created', 'mode', 'is_active', 'course')
fields = ('created', 'mode', 'is_active', 'course', 'student')
lookup_field = 'username'
......
......@@ -156,6 +156,7 @@ class EnrollmentDataTest(ModuleStoreTestCase):
)
# Get the enrollment and compare it to the original.
result = data.get_course_enrollment(self.user.username, unicode(self.course.id))
self.assertEqual(self.user.username, result['student'])
self.assertEqual(enrollment, result)
@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