Merge pull request #24286 from edx/ciduarte/AA-186
AA-186: Updating Course Home Course Metadata API
This commit is contained in:
@@ -36,3 +36,4 @@ class CourseHomeMetadataSerializer(serializers.Serializer):
|
||||
tabs = CourseTabSerializer(many=True)
|
||||
title = serializers.CharField()
|
||||
is_self_paced = serializers.BooleanField()
|
||||
is_enrolled = serializers.BooleanField()
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user