Skip to content
Snippets Groups Projects
Commit f1b15b67 authored by Carla Duarte's avatar Carla Duarte
Browse files

AA-186: Updating Course Home Course Metadata API

Added `is_enrolled` field to check if user's enrollment is active.
parent c37f73c4
No related branches found
No related tags found
No related merge requests found
......@@ -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
......
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