36 lines
1.4 KiB
Python
36 lines
1.4 KiB
Python
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']
|