64 lines
1.7 KiB
Python
64 lines
1.7 KiB
Python
from rest_framework import serializers
|
|
|
|
from vbv_lernwelt.course_session.models import (
|
|
CourseSessionAssignment,
|
|
CourseSessionAttendanceCourse,
|
|
)
|
|
|
|
|
|
class CourseSessionAttendanceCourseSerializer(serializers.ModelSerializer):
|
|
start = serializers.SerializerMethodField()
|
|
end = serializers.SerializerMethodField()
|
|
circle_title = serializers.SerializerMethodField()
|
|
|
|
class Meta:
|
|
model = CourseSessionAttendanceCourse
|
|
fields = [
|
|
"id",
|
|
"course_session",
|
|
"learning_content_id",
|
|
"due_date_id",
|
|
"location",
|
|
"trainer",
|
|
"start",
|
|
"end",
|
|
"circle_title",
|
|
]
|
|
|
|
def get_start(self, obj):
|
|
return obj.due_date.start
|
|
|
|
def get_end(self, obj):
|
|
return obj.due_date.end
|
|
|
|
def get_circle_title(self, obj):
|
|
circle = obj.get_circle()
|
|
if circle:
|
|
return circle.title
|
|
return ""
|
|
|
|
|
|
class CourseSessionAssignmentSerializer(serializers.ModelSerializer):
|
|
submission_deadline_start = serializers.SerializerMethodField()
|
|
evaluation_deadline_start = serializers.SerializerMethodField()
|
|
|
|
class Meta:
|
|
model = CourseSessionAssignment
|
|
fields = [
|
|
"id",
|
|
"course_session_id",
|
|
"learning_content_id",
|
|
"submission_deadline_id",
|
|
"submission_deadline_start",
|
|
"evaluation_deadline_id",
|
|
"evaluation_deadline_start",
|
|
]
|
|
|
|
def get_evaluation_deadline_start(self, obj):
|
|
if obj.evaluation_deadline:
|
|
return obj.evaluation_deadline.start
|
|
|
|
def get_submission_deadline_start(self, obj):
|
|
if obj.submission_deadline:
|
|
return obj.submission_deadline.start
|