Newer
Older
from rest_framework import serializers
Bodor Máté
committed
from common.serializers import CurrentUserProfileDefault
class StaffEventSerializer(serializers.ModelSerializer):
visitor_number = serializers.SerializerMethodField()
Bodor Máté
committed
model = models.Event
Bodor Máté
committed
fields = '__all__'
read_only_fields = ('created_at', 'update_at', 'created_by')
def get_created_by_name(self, obj):
def get_visitor_number(self, obj):
return obj.visitors.all().count()
raise serializers.ValidationError(
'You cant add a student to absent and visitor in the same time.')
Bodor Máté
committed
class StudentEventSerializer(serializers.ModelSerializer):
class Meta:
model = models.Event
fields = ('id', 'name', 'date', 'description', )
read_only_fields = ('id', 'name', 'date', 'description', )
Bodor Máté
committed
class NoteSerializer(serializers.ModelSerializer):
created_by = serializers.HiddenField(default=CurrentUserProfileDefault())
created_by_name = serializers.SerializerMethodField()
Bodor Máté
committed
def to_representation(self, instance):
data = super().to_representation(instance)
if not data['event']:
data['event'] = ""
if not data['profile']:
data['profile'] = ""
Bodor Máté
committed
class Meta:
model = models.Note
fields = '__all__'
read_only_fields = ('created_at', 'update_at', 'created_by')
def get_created_by_name(self, obj):
def validate(self, data):
if data['profile'] is None and data['event'] is None:
raise serializers.ValidationError(
'You have to add profile or event')