from rest_framework import serializers
from src.dieta_especial.logs_models.models import (
LogQuantidadeDietasAutorizadas,
LogQuantidadeDietasAutorizadasCEI,
LogQuantidadeDietasAutorizadasRecreioNasFerias,
LogQuantidadeDietasAutorizadasRecreioNasFeriasCEI,
)
from src.dieta_especial.solicitacao_dieta_especial.api.serializers import (
CLASSIFICACAO_NOME_SOURCE,
)
from src.escola.api.serializers import (
FaixaEtariaSerializer,
)
from src.escola.models import Escola, PeriodoEscolar
[docs]
class LogQuantidadeDietasAutorizadasSerializer(serializers.ModelSerializer):
escola = serializers.SlugRelatedField(
slug_field="uuid", required=False, queryset=Escola.objects.all()
)
classificacao = serializers.CharField(
source=CLASSIFICACAO_NOME_SOURCE, required=False
)
dia = serializers.SerializerMethodField()
periodo_escolar = serializers.SlugRelatedField(
slug_field="uuid", required=False, queryset=PeriodoEscolar.objects.all()
)
[docs]
def get_dia(self, obj):
dia = obj.data.day
return f"{dia:02d}"
[docs]
class LogQuantidadeDietasAutorizadasCEISerializer(serializers.ModelSerializer):
escola = serializers.SlugRelatedField(
slug_field="nome", required=False, queryset=Escola.objects.all()
)
classificacao = serializers.CharField(
source=CLASSIFICACAO_NOME_SOURCE, required=False
)
dia = serializers.SerializerMethodField()
periodo_escolar = serializers.SlugRelatedField(
slug_field="nome", required=False, queryset=PeriodoEscolar.objects.all()
)
faixa_etaria = FaixaEtariaSerializer()
[docs]
def get_dia(self, obj):
dia = obj.data.day
return f"{dia:02d}"
[docs]
class LogQuantidadeDietasAutorizadasRecreioNasFeriasSerializer(
serializers.ModelSerializer
):
escola = serializers.SlugRelatedField(
slug_field="uuid", required=False, queryset=Escola.objects.all()
)
classificacao = serializers.CharField(
source=CLASSIFICACAO_NOME_SOURCE, read_only=True
)
dia = serializers.SerializerMethodField()
[docs]
def get_dia(self, obj):
dia = obj.data.day
return f"{dia:02d}"
[docs]
class LogQuantidadeDietasAutorizadasRecreioNasFeriasCEISerializer(
serializers.ModelSerializer
):
escola = serializers.SlugRelatedField(
slug_field="nome", required=False, queryset=Escola.objects.all()
)
classificacao = serializers.CharField(
source=CLASSIFICACAO_NOME_SOURCE, required=False
)
dia = serializers.SerializerMethodField()
periodo_escolar = serializers.SlugRelatedField(
slug_field="nome", required=False, queryset=PeriodoEscolar.objects.all()
)
faixa_etaria = FaixaEtariaSerializer()
[docs]
def get_dia(self, obj):
dia = obj.data.day
return f"{dia:02d}"