Merge pull request #33690 from Inferato/lytvynenko/bulk_email_checkbox_master

fix: course mode added to the metadata
This commit is contained in:
Feanil Patel
2024-02-29 15:19:13 -05:00
committed by GitHub
2 changed files with 13 additions and 0 deletions

View File

@@ -29,6 +29,14 @@ class CourseTabSerializer(serializers.Serializer):
return request.build_absolute_uri(tab.link_func(self.context.get('course'), reverse))
class CourseModeSerrializer(serializers.Serializer):
"""
Serializer for the Course Mode
"""
slug = serializers.CharField()
name = serializers.CharField()
class CourseHomeMetadataSerializer(VerifiedModeSerializer):
"""
Serializer for the Course Home Course Metadata
@@ -48,3 +56,4 @@ class CourseHomeMetadataSerializer(VerifiedModeSerializer):
username = serializers.CharField()
user_timezone = serializers.CharField()
can_view_certificate = serializers.BooleanField()
course_modes = CourseModeSerrializer(many=True)

View File

@@ -14,6 +14,7 @@ from lms.djangoapps.certificates.api import certificates_viewable_for_course
from openedx.core.lib.api.authentication import BearerAuthenticationAllowInactiveUser
from openedx.core.djangoapps.courseware_api.utils import get_celebrations_dict
from common.djangoapps.course_modes.models import CourseMode
from common.djangoapps.student.models import CourseEnrollment
from lms.djangoapps.course_api.api import course_detail
from lms.djangoapps.course_goals.models import UserActivity
@@ -117,6 +118,8 @@ class CourseHomeMetadataView(RetrieveAPIView):
# Record course goals user activity for (web) learning mfe course tabs
UserActivity.record_user_activity(request.user, course_key)
course_modes = CourseMode.modes_for_course(course_key, include_expired=True, only_selectable=False)
data = {
'course_id': course.id,
'username': username,
@@ -133,6 +136,7 @@ class CourseHomeMetadataView(RetrieveAPIView):
'celebrations': celebrations,
'user_timezone': user_timezone,
'can_view_certificate': certificates_viewable_for_course(course),
'course_modes': course_modes,
}
context = self.get_serializer_context()
context['course'] = course