40 lines
1.1 KiB
Python
40 lines
1.1 KiB
Python
from rest_framework import serializers
|
|
|
|
from vbv_lernwelt.core.utils import StringIDField
|
|
from vbv_lernwelt.duedate.models import DueDate
|
|
|
|
|
|
class DueDateSerializer(serializers.ModelSerializer):
|
|
id = StringIDField()
|
|
course_session_id = serializers.SerializerMethodField()
|
|
circle = serializers.SerializerMethodField()
|
|
|
|
class Meta:
|
|
model = DueDate
|
|
fields = [
|
|
"id",
|
|
"start",
|
|
"end",
|
|
"manual_override_fields",
|
|
"title",
|
|
"assignment_type_translation_key",
|
|
"date_type_translation_key",
|
|
"subtitle",
|
|
"url",
|
|
"url_expert",
|
|
"course_session_id",
|
|
"circle",
|
|
]
|
|
|
|
def get_course_session_id(self, obj):
|
|
return str(obj.course_session.id)
|
|
|
|
def get_circle(self, obj):
|
|
if obj.circle_data:
|
|
return {
|
|
"id": obj.circle_data.get("id"),
|
|
"title": obj.circle_data.get("title"),
|
|
"slug": obj.circle_data.get("slug"),
|
|
}
|
|
return None
|