|
|
|
@ -3,20 +3,30 @@ |
|
|
|
from rest_framework import serializers |
|
|
|
from apps.certificate.models import Certificate |
|
|
|
from apps.course.serializers import CourseDetailSerializer |
|
|
|
from django.conf import settings |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class CertificateSerializer(serializers.ModelSerializer): |
|
|
|
course = serializers.SerializerMethodField() |
|
|
|
|
|
|
|
certificate_file = serializers.SerializerMethodField() |
|
|
|
|
|
|
|
class Meta: |
|
|
|
model = Certificate |
|
|
|
fields = ['id', 'student', 'course', 'status', 'created_at', 'updated_at',] |
|
|
|
fields = ['id', 'student', 'course', 'status', 'created_at', 'updated_at', 'certificate_file'] |
|
|
|
read_only_fields = ['id', 'student', 'status', 'created_at', 'updated_at',] |
|
|
|
|
|
|
|
def get_course(self, obj): |
|
|
|
return CourseDetailSerializer(obj.course, context=self.context).data |
|
|
|
|
|
|
|
def get_certificate_file(self, obj): |
|
|
|
if obj.certificate_file: |
|
|
|
request = self.context.get('request') |
|
|
|
if request is not None: |
|
|
|
return request.build_absolute_uri(obj.certificate_file.url) |
|
|
|
return obj.certificate_file.url |
|
|
|
return None |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|