Merge pull request #24286 from edx/ciduarte/AA-186

AA-186: Updating Course Home Course Metadata API
This commit is contained in:
Carla Duarte
2020-06-24 08:47:41 -04:00
committed by GitHub
2 changed files with 7 additions and 0 deletions

View File

@@ -36,3 +36,4 @@ class CourseHomeMetadataSerializer(serializers.Serializer):
tabs = CourseTabSerializer(many=True)
title = serializers.CharField()
is_self_paced = serializers.BooleanField()
is_enrolled = serializers.BooleanField()

View File

@@ -8,6 +8,7 @@ from rest_framework.response import Response
from opaque_keys.edx.keys import CourseKey
from student.models import CourseEnrollment
from lms.djangoapps.courseware.access import has_access
from lms.djangoapps.courseware.tabs import get_course_tab_list
from lms.djangoapps.course_api.api import course_detail
@@ -29,6 +30,8 @@ class CourseHomeMetadataView(RetrieveAPIView):
Body consists of the following fields:
course_id: (str) The Course's id (Course Run key)
is_enrolled: (bool) Indicates if the user is enrolled in the course
is_self_paced: (bool) Indicates if the course is self paced
is_staff: (bool) Indicates if the user is staff
number: (str) The Course's number
org: (str) The Course's organization
@@ -50,6 +53,8 @@ class CourseHomeMetadataView(RetrieveAPIView):
course_key_string = kwargs.get('course_key_string')
course_key = CourseKey.from_string(course_key_string)
course = course_detail(request, request.user.username, course_key)
user_is_enrolled = CourseEnrollment.is_enrolled(request.user, course_key_string)
data = {
'course_id': course.id,
'is_staff': has_access(request.user, 'staff', course_key).has_access,
@@ -58,6 +63,7 @@ class CourseHomeMetadataView(RetrieveAPIView):
'tabs': get_course_tab_list(request.user, course),
'title': course.display_name_with_default,
'is_self_paced': getattr(course, 'self_paced', False),
'is_enrolled': user_is_enrolled,
}
context = self.get_serializer_context()
context['course'] = course