init
This commit is contained in:
96
backend-django/backend/models/formation_emploi.py
Normal file
96
backend-django/backend/models/formation_emploi.py
Normal file
@@ -0,0 +1,96 @@
|
||||
from django.db import models
|
||||
|
||||
from .garnison import Garnison
|
||||
from .user import CustomUser
|
||||
|
||||
|
||||
class GroupeFe(models.Model):
|
||||
"""
|
||||
Modèle de groupes FE
|
||||
"""
|
||||
groupe_fe_nom = models.CharField(primary_key=True, max_length=100, verbose_name='Groupe de FE')
|
||||
|
||||
def __str__(self):
|
||||
return self.groupe_fe_nom
|
||||
|
||||
|
||||
class PcpFeGroupe(models.Model):
|
||||
"""
|
||||
Modèle d'association des groupes de FE aux gestionnaires PCP
|
||||
"""
|
||||
|
||||
CATEGORIE_CHOICES = [('MDR', 'MDR'), ('OFF', 'OFF'), ('SOFF', 'SOFF'), ('OGX', 'OGX')]
|
||||
pcp_fe_id = models.AutoField(primary_key=True)
|
||||
pcp_fe_groupe = models.ForeignKey(GroupeFe, null=True, blank=True, on_delete=models.CASCADE,
|
||||
verbose_name='Nom du groupe')
|
||||
pcp_fe_categorie = models.CharField(max_length=5, choices=CATEGORIE_CHOICES, null=True, blank=True, verbose_name='Catégorie')
|
||||
gestionnaire = models.ForeignKey(CustomUser, on_delete=models.CASCADE, null=True, blank=True, db_constraint=False)
|
||||
|
||||
def __str__(self):
|
||||
return str(self.gestionnaire.first_name) + ' ' + str(self.gestionnaire.last_name.upper()) + ' / ' + self.pcp_fe_groupe.groupe_fe_nom + ' / ' + self.pcp_fe_categorie
|
||||
|
||||
class Meta:
|
||||
verbose_name = 'Lien gest PCP / groupe FE'
|
||||
verbose_name_plural = 'Liens gest PCP / groupe FE'
|
||||
|
||||
|
||||
class FormationEmploi(models.Model):
|
||||
"""
|
||||
Modèle des formations d'emplois
|
||||
"""
|
||||
|
||||
class Cols():
|
||||
""" Constantes pour les noms de colonnes """
|
||||
|
||||
PK = 'fe_code'
|
||||
LIBELLE = 'fe_libelle'
|
||||
ZONE_DEFENSE = 'zone_defense'
|
||||
REL_MERE = 'mere'
|
||||
REL_POSTE = 'poste'
|
||||
M2M_GESTIONNAIRE = 'gestionnaires'
|
||||
|
||||
fe_code = models.CharField(primary_key=True, max_length=100)
|
||||
groupe_fe = models.ForeignKey(GroupeFe, blank=True, on_delete=models.SET_NULL, null=True)
|
||||
gestionnaires = models.ManyToManyField(CustomUser, related_name=CustomUser.Cols.M2M_FORMATION_EMPLOIS, blank=True)
|
||||
fe_code_postal = models.CharField(max_length=100, null=True, blank=True)
|
||||
fe_garnison_lieu = models.CharField(max_length=100, null=True, blank=True)
|
||||
fe_libelle = models.CharField(max_length=100, null=True, blank=True)
|
||||
fe_taux_armement_cible_off = models.FloatField(null=True, blank=True, verbose_name="TA cible OFF")
|
||||
fe_nb_poste_reo_off = models.IntegerField(null=True, blank=True)
|
||||
fe_nb_poste_reevalue_off = models.IntegerField(null=True, blank=True)
|
||||
fe_nb_poste_vacant_off = models.IntegerField(null=True, blank=True)
|
||||
fe_nb_poste_occupe_off = models.IntegerField(null=True, blank=True)
|
||||
fe_taux_armement_cible_soff = models.FloatField(null=True, blank=True, verbose_name="TA cible SOFF")
|
||||
fe_nb_poste_reo_soff = models.IntegerField(null=True, blank=True)
|
||||
fe_nb_poste_reevalue_soff = models.IntegerField(null=True, blank=True)
|
||||
fe_nb_poste_vacant_soff = models.IntegerField(null=True, blank=True)
|
||||
fe_nb_poste_occupe_soff = models.IntegerField(null=True, blank=True)
|
||||
fe_taux_armement_cible_mdr = models.FloatField(null=True, blank=True, verbose_name="TA cible MDR")
|
||||
fe_nb_poste_reo_mdr = models.IntegerField(null=True, blank=True)
|
||||
fe_nb_poste_reevalue_mdr = models.IntegerField(null=True, blank=True)
|
||||
fe_nb_poste_vacant_mdr = models.IntegerField(null=True, blank=True)
|
||||
fe_nb_poste_occupe_mdr = models.IntegerField(null=True, blank=True)
|
||||
fe_mere_credo = models.CharField('Code FE mère', max_length=100, null=True, blank=True)
|
||||
fe_mere_la = models.CharField('Libelle FE mère', max_length=100, null=True, blank=True)
|
||||
fe_fot = models.CharField(max_length=100, null=True, blank=True)
|
||||
fe_abo_fe = models.CharField(max_length=100, null=True, blank=True)
|
||||
fe_pilier_niv1 = models.CharField(max_length=100, null=True, blank=True)
|
||||
fe_code_niv_org4 = models.CharField('Code niveau d\'org 4', max_length=100, null=True, blank=True)
|
||||
fe_niv_org4 = models.CharField('Libelle niveau d\'org 4', max_length=100, null=True, blank=True)
|
||||
fe_code_niv_org4_mdr = models.CharField('Code niveau d\'org 4 (MDR)', max_length=100, null=True, blank=True)
|
||||
fe_niv_org4_mdr = models.CharField('Libelle niveau d\'org 4 (MDR)', max_length=100, null=True, blank=True)
|
||||
|
||||
zone_defense = models.CharField('zone de défense', db_column='fe_zone_defense', max_length=64, blank=True, null=True)
|
||||
mere = models.ForeignKey('self', blank=True, null=True, on_delete=models.SET_NULL, verbose_name='FE mère', db_column='fe_mere_id')
|
||||
|
||||
def as_dict(self):
|
||||
return {
|
||||
"id": self.fe_code,
|
||||
"code": self.fe_code,
|
||||
"libelle": self.fe_libelle,
|
||||
"mere_code": self.fe_mere_credo,
|
||||
"mere_la": self.fe_mere_la,
|
||||
"groupe_fe": self.groupe_fe_id,
|
||||
"fe_garnison_lieu": self.fe_garnison_lieu,
|
||||
"zone_defense": self.zone_defense
|
||||
}
|
||||
Reference in New Issue
Block a user