|
|
|
@ -87,7 +87,7 @@ class CourseListSerializer(serializers.ModelSerializer): |
|
|
|
|
|
|
|
class CourseDetailSerializer(serializers.ModelSerializer): |
|
|
|
category = CourseCategorySerializer() |
|
|
|
professor = UserProfileSerializer() |
|
|
|
professor = serializers.SerializerMethodField() |
|
|
|
thumbnail = serializers.SerializerMethodField() |
|
|
|
participant_count = serializers.SerializerMethodField() |
|
|
|
access = serializers.SerializerMethodField() |
|
|
|
@ -100,6 +100,7 @@ class CourseDetailSerializer(serializers.ModelSerializer): |
|
|
|
discount_percentage = serializers.SerializerMethodField() |
|
|
|
final_price = serializers.SerializerMethodField() |
|
|
|
is_free = serializers.SerializerMethodField() |
|
|
|
is_professor = serializers.SerializerMethodField() |
|
|
|
|
|
|
|
class Meta: |
|
|
|
model = Course |
|
|
|
@ -111,6 +112,7 @@ class CourseDetailSerializer(serializers.ModelSerializer): |
|
|
|
'access', |
|
|
|
'participant_count', |
|
|
|
'professor', |
|
|
|
'is_professor', |
|
|
|
'thumbnail', |
|
|
|
'video_type', |
|
|
|
'video_file', |
|
|
|
@ -215,6 +217,12 @@ class CourseDetailSerializer(serializers.ModelSerializer): |
|
|
|
return True |
|
|
|
return False |
|
|
|
|
|
|
|
def get_professor(self, obj): |
|
|
|
"""Return the course professor's profile using UserProfileSerializer""" |
|
|
|
if obj.professor: |
|
|
|
return UserProfileSerializer(obj.professor, context=self.context).data |
|
|
|
return None |
|
|
|
|
|
|
|
def get_is_professor(self, obj): |
|
|
|
if professor := self._get_authenticated_user(): |
|
|
|
return obj.professor == professor |
|
|
|
|