Skip to content
Snippets Groups Projects
Commit 75e45bc2 authored by stephensanchez's avatar stephensanchez
Browse files

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

parent 87af92a1
No related merge requests found
......@@ -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)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment