85 lines
2.1 KiB
Python
85 lines
2.1 KiB
Python
from rest_framework import serializers
|
|
from rest_framework.serializers import ModelSerializer
|
|
|
|
from colloscope.models import *
|
|
|
|
|
|
class SchoolSerializer(ModelSerializer):
|
|
class Meta:
|
|
model = School
|
|
fields = ["id", "uai", "description", "vacation"]
|
|
|
|
|
|
class StudentSerializer(ModelSerializer):
|
|
class Meta:
|
|
model = Student
|
|
fields = ["id", "cls", "first_name", "last_name", "groups"]
|
|
|
|
|
|
class ClassSerializer(ModelSerializer):
|
|
students = StudentSerializer(source="student_set", many=True)
|
|
|
|
class Meta:
|
|
model = Class
|
|
fields = ["id", "school", "description", "year", "day_zero", "students"]
|
|
|
|
|
|
class TermSerializer(ModelSerializer):
|
|
class Meta:
|
|
model = Term
|
|
fields = ["id", "cls", "description", "begin", "end"]
|
|
|
|
|
|
class SubjectSerializer(ModelSerializer):
|
|
class Meta:
|
|
model = Subject
|
|
fields = ["id", "cls", "description", "code"]
|
|
|
|
|
|
class GroupTypeSerializer(ModelSerializer):
|
|
class Meta:
|
|
model = GroupType
|
|
fields = ["id", "term", "description"]
|
|
|
|
|
|
class GroupSerializer(ModelSerializer):
|
|
class Meta:
|
|
model = Group
|
|
fields = ["id", "term", "description", "members"]
|
|
|
|
|
|
|
|
|
|
class ColleurSerializer(ModelSerializer):
|
|
class Meta:
|
|
model = Colleur
|
|
fields = ["id", "gender", "name"]
|
|
|
|
|
|
class SlotSerializer(ModelSerializer):
|
|
class Meta:
|
|
model = Slot
|
|
fields = ["id", "term", "day", "time", "duration", "room", "subject", "colleur", "type", "capacity"]
|
|
|
|
|
|
class SwapSerializer(ModelSerializer):
|
|
class Meta:
|
|
model = Swap
|
|
fields = ["enroll", "colle", "student"]
|
|
|
|
|
|
class ColleSerializer(ModelSerializer):
|
|
base_vol = serializers.IntegerField()
|
|
volume = serializers.IntegerField()
|
|
slot = SlotSerializer()
|
|
swaps = SwapSerializer(source="swap_set", many=True)
|
|
|
|
class Meta:
|
|
model = Colle
|
|
fields = ["id", "slot", "groups", "datetime", "base_vol", "volume", "swaps"]
|
|
|
|
|
|
class CalendarLinkSerializer(ModelSerializer):
|
|
class Meta:
|
|
model = CalendarLink
|
|
fields = ["id", "key", "student", "term"] |