MA-776 change UserCourseEnrollmentsList endpoint to use course_overviews
This commit is contained in:
@@ -9,11 +9,11 @@ from student.models import CourseEnrollment, User
|
||||
from certificates.models import certificate_status_for_student, CertificateStatuses
|
||||
|
||||
|
||||
class CourseField(serializers.RelatedField):
|
||||
class CourseOverviewField(serializers.RelatedField):
|
||||
"""Custom field to wrap a CourseDescriptor object. Read-only."""
|
||||
|
||||
def to_native(self, course):
|
||||
course_id = unicode(course.id)
|
||||
def to_native(self, course_overview):
|
||||
course_id = unicode(course_overview.id)
|
||||
request = self.context.get('request', None)
|
||||
if request:
|
||||
video_outline_url = reverse(
|
||||
@@ -38,14 +38,14 @@ class CourseField(serializers.RelatedField):
|
||||
|
||||
return {
|
||||
"id": course_id,
|
||||
"name": course.display_name,
|
||||
"number": course.display_number_with_default,
|
||||
"org": course.display_org_with_default,
|
||||
"start": course.start,
|
||||
"end": course.end,
|
||||
"course_image": course_image_url(course),
|
||||
"name": course_overview.display_name,
|
||||
"number": course_overview.display_number_with_default,
|
||||
"org": course_overview.display_org_with_default,
|
||||
"start": course_overview.start,
|
||||
"end": course_overview.end,
|
||||
"course_image": course_overview.course_image_url,
|
||||
"social_urls": {
|
||||
"facebook": course.facebook_url,
|
||||
"facebook": course_overview.facebook_url,
|
||||
},
|
||||
"latest_updates": {
|
||||
"video": None
|
||||
@@ -53,7 +53,7 @@ class CourseField(serializers.RelatedField):
|
||||
"video_outline": video_outline_url,
|
||||
"course_updates": course_updates_url,
|
||||
"course_handouts": course_handouts_url,
|
||||
"subscription_id": course.clean_id(padding_char='_'),
|
||||
"subscription_id": course_overview.clean_id(padding_char='_'),
|
||||
}
|
||||
|
||||
|
||||
@@ -61,7 +61,7 @@ class CourseEnrollmentSerializer(serializers.ModelSerializer):
|
||||
"""
|
||||
Serializes CourseEnrollment models
|
||||
"""
|
||||
course = CourseField()
|
||||
course = CourseOverviewField(source="course_overview")
|
||||
certificate = serializers.SerializerMethodField('get_certificate')
|
||||
|
||||
def get_certificate(self, model):
|
||||
|
||||
@@ -241,7 +241,8 @@ class UserCourseEnrollmentsList(generics.ListAPIView):
|
||||
).order_by('created').reverse()
|
||||
return [
|
||||
enrollment for enrollment in enrollments
|
||||
if enrollment.course and is_mobile_available_for_user(self.request.user, enrollment.course)
|
||||
if enrollment.course_overview and
|
||||
is_mobile_available_for_user(self.request.user, enrollment.course_overview)
|
||||
]
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user