init
This commit is contained in:
41
backend-django/backend/serializers/administre.py
Normal file
41
backend-django/backend/serializers/administre.py
Normal file
@@ -0,0 +1,41 @@
|
||||
from typing import Optional, Tuple
|
||||
|
||||
from rest_framework import serializers
|
||||
|
||||
|
||||
from ..models import (Administre, Decision, DecisionChoices, DecisionTree,
|
||||
FormationEmploi, Poste, FMOB, Administres_Pams)
|
||||
from ..utils.attributes import safe_rgetattr
|
||||
from ..utils.decisions import KEY_CREATE, KEY_UPDATE, get_available_decisions
|
||||
from ..utils.permissions import (KEY_READ, KEY_WRITE, Profiles,
|
||||
get_profiles_by_adm)
|
||||
from .commun import AssignmentState
|
||||
from .fmob import FmobSerializer
|
||||
from .fonction import FonctionSerializer
|
||||
from .formation_emploi import FormationEmploiSerializer
|
||||
from .grade import GradeSerializer
|
||||
from .sous_vivier import SousVivierSerializer
|
||||
|
||||
CTX_KEY_DECISIONS = 'decisions'
|
||||
CTX_KEY_PROFILES = 'profiles'
|
||||
|
||||
|
||||
class AdministreSerializer(serializers.ModelSerializer):
|
||||
"""
|
||||
Cette classe sera responsable de la conversion des objets administres en type json contenant les champs de l'administré
|
||||
et les champs de fonction, formation_emploi, sous_vivier, decisions, grade et Fmob liés à chaque administré. Cette classe va également ordonner le json par a_id_sap.
|
||||
Les variables qui seront affichées dans le json sont celles mentionnées dans la variable fields.
|
||||
"""
|
||||
|
||||
|
||||
a_id_sap = serializers.ReadOnlyField()
|
||||
formation_emploi = FormationEmploiSerializer(read_only=True)
|
||||
sous_vivier = SousVivierSerializer(read_only=True)
|
||||
sous_vivier_id = serializers.IntegerField(write_only=True, allow_null=True)
|
||||
fonction = FonctionSerializer(read_only=True)
|
||||
grade = GradeSerializer(read_only=True)
|
||||
|
||||
class Meta:
|
||||
model = Administre
|
||||
ordering = [Administre.Cols.PK]
|
||||
fields = '__all__'
|
||||
Reference in New Issue
Block a user