from rest_framework import serializers from ..models import Decision, DecisionChoices from .administre import AdministreSerializer from .initial import PosteSerializer from .notation import NotationSerializer class DecisionSerializer(serializers.ModelSerializer): """Cette classe sera responsable de la conversion des objets decisions en type json contenant les champs de decision et les champs de notation, poste et administre liés à chaque decision . Cette classe va également ordonner le json par de_date_decision. Si fields='__all__', alors toutes les variables liées à cette classe seront affichées dans le json. """ notation = NotationSerializer() # poste = PosteSerializer() # administre = AdministreSerializer() de_date_decision = serializers.ReadOnlyField() class Meta: model = Decision fields = '__all__' ordering = ['de_date_decision'] class CreateDecisionSerializer(serializers.ModelSerializer): """ Valide les données pour une création de décision """ administre_id = serializers.IntegerField(write_only=True) poste_id = serializers.CharField(max_length=100, write_only=True) de_decision = serializers.ChoiceField(choices=DecisionChoices.choices) delete_former = serializers.BooleanField(write_only=True, required=False) class Meta: model = Decision fields = ['administre_id', 'poste_id', 'de_decision', 'delete_former']