colles.mp2i-vms.fr/colloscope/serializers.py

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"]