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

This commit is contained in:
stephensanchez
2014-11-17 15:00:50 +00:00
parent 87af92a1a5
commit 75e45bc2ee
3 changed files with 12 additions and 17 deletions

View File

@@ -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):

View File

@@ -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'

View File

@@ -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)