class Metadata(models.Model):
"""Méta-données AUF.
Metadata.actif = flag remplaçant la suppression.
- actif == False : objet réputé supprimé.
+ supprime == True : objet réputé supprimé.
"""
actif = models.BooleanField(default=True)
+ supprime = models.BooleanField(default=False)
date_creation = models.DateField(auto_now_add=True)
user_creation = models.ForeignKey('auth.User',
db_column='user_creation', related_name='+',
type_poste = models.ForeignKey('TypePoste', db_column='type_poste',
related_name='+',
null=True)
- service = models.ForeignKey('Service', db_column='service',
+ service = models.ForeignKey('Service', db_column='service', null=True,
related_name='+',
verbose_name="Direction/Service/Pôle support",
default=1) # default = Rectorat
responsable = models.ForeignKey('Poste', db_column='responsable',
- related_name='+',
+ related_name='+', null=True,
verbose_name="Poste du responsable",
default=149) # default = Recteur
# Contrat
regime_travail = models.DecimalField(max_digits=12, decimal_places=2,
- default=REGIME_TRAVAIL_DEFAULT,
+ default=REGIME_TRAVAIL_DEFAULT, null=True,
verbose_name="Temps de travail",
help_text="% du temps complet")
regime_travail_nb_heure_semaine = models.DecimalField(max_digits=12,
- decimal_places=2,
+ decimal_places=2, null=True,
default=REGIME_TRAVAIL_NB_HEURE_SEMAINE_DEFAULT,
verbose_name="Nb. heures par semaine")
# Recrutement
- local = models.BooleanField(verbose_name="Local", default=True,
- blank=True)
- expatrie = models.BooleanField(verbose_name="Expatrié", default=False,
- blank=True)
- mise_a_disposition = models.BooleanField(
+ local = models.NullBooleanField(verbose_name="Local", default=True,
+ null=True, blank=True)
+ expatrie = models.NullBooleanField(verbose_name="Expatrié", default=False,
+ null=True, blank=True)
+ mise_a_disposition = models.NullBooleanField(
verbose_name="Mise à disposition",
- default=False)
- appel = models.CharField(max_length=10,
+ null=True, default=False)
+ appel = models.CharField(max_length=10, null=True,
verbose_name="Appel à candidature",
choices=POSTE_APPEL_CHOICES,
default='interne')
valeur_point_max = models.ForeignKey('ValeurPoint',
db_column='valeur_point_max', related_name='+',
null=True, blank=True)
- devise_min = models.ForeignKey('Devise', db_column='devise_min',
+ devise_min = models.ForeignKey('Devise', db_column='devise_min', null=True,
related_name='+', default=5)
- devise_max = models.ForeignKey('Devise', db_column='devise_max',
+ devise_max = models.ForeignKey('Devise', db_column='devise_max', null=True,
related_name='+', default=5)
salaire_min = models.DecimalField(max_digits=12, decimal_places=2,
- default=0)
+ null=True, default=0)
salaire_max = models.DecimalField(max_digits=12, decimal_places=2,
- default=0)
+ null=True, default=0)
indemn_min = models.DecimalField(max_digits=12, decimal_places=2,
- default=0)
+ null=True, default=0)
indemn_max = models.DecimalField(max_digits=12, decimal_places=2,
- default=0)
+ null=True, default=0)
autre_min = models.DecimalField(max_digits=12, decimal_places=2,
- default=0)
+ null=True, default=0)
autre_max = models.DecimalField(max_digits=12, decimal_places=2,
- default=0)
+ null=True, default=0)
# Comparatifs de rémunération
- devise_comparaison = models.ForeignKey('Devise',
+ devise_comparaison = models.ForeignKey('Devise', null=True,
db_column='devise_comparaison',
related_name='+',
default=5)
# Autres Metadata
date_validation = models.DateTimeField(null=True, blank=True) # de dae
- date_debut = models.DateField(verbose_name="Date de début",
+ date_debut = models.DateField(verbose_name="Date de début", null=True,
help_text=HELP_TEXT_DATE)
date_fin = models.DateField(verbose_name="Date de fin",
help_text=HELP_TEXT_DATE,
def __unicode__(self):
return u'%s' % (self.nom)
+class PosteComparaison(models.Model):
+ """
+ De la même manière qu'un dossier, un poste peut-être comparé à un autre poste.
+ """
+ poste = models.ForeignKey('Poste', related_name='comparaisons_internes')
+ implantation = models.ForeignKey(ref.Implantation, null=True, blank=True, related_name="+")
+ nom = models.CharField(verbose_name="Poste", max_length=255, null=True, blank=True)
+ montant = models.IntegerField(null=True)
+ devise = models.ForeignKey("Devise", default=5, related_name='+', null=True, blank=True)
+ montant_euros = models.IntegerField(null=True)
+
+
class PosteCommentaire(Commentaire):
poste = models.ForeignKey('Poste', db_column='poste', related_name='+')
verbose_name="Employé")
poste = models.ForeignKey('Poste', db_column='poste',
related_name='+', editable=False)
- statut = models.ForeignKey('Statut', related_name='+', default=3)
+ statut = models.ForeignKey('Statut', related_name='+', default=3,
+ null=True)
organisme_bstg = models.ForeignKey('OrganismeBstg',
db_column='organisme_bstg',
related_name='+',
# Recrutement
remplacement = models.BooleanField(default=False)
statut_residence = models.CharField(max_length=10, default='local',
- verbose_name="Statut",
+ verbose_name="Statut", null=True,
choices=STATUT_RESIDENCE_CHOICES)
# Rémunération
classement = models.ForeignKey('Classement', db_column='classement',
related_name='+',
null=True, blank=True)
- regime_travail = models.DecimalField(max_digits=12,
+ regime_travail = models.DecimalField(max_digits=12, null=True,
decimal_places=2,
default=REGIME_TRAVAIL_DEFAULT,
verbose_name="Régime de travail",
help_text="% du temps complet")
regime_travail_nb_heure_semaine = models.DecimalField(max_digits=12,
- decimal_places=2,
+ decimal_places=2, null=True,
default=REGIME_TRAVAIL_NB_HEURE_SEMAINE_DEFAULT,
verbose_name="Nb. heures par semaine")
type = models.CharField(max_length=10, choices=TYPE_CLASSEMENT_CHOICES)
echelon = models.IntegerField(verbose_name="Échelon")
degre = models.IntegerField(verbose_name="Degré")
- coefficient = models.FloatField(default=0, verbose_name="Coéfficient")
+ coefficient = models.FloatField(default=0, verbose_name="Coéfficient",
+ null=True)
# Méta
# annee # au lieu de date_debut et date_fin
commentaire = models.TextField(null=True, blank=True)
salaire de base = coefficient * valeur du point de l'Implantation du Poste
"""
- valeur = models.FloatField()
- devise = models.ForeignKey('Devise', db_column='devise',
+ valeur = models.FloatField(null=True)
+ devise = models.ForeignKey('Devise', db_column='devise', null=True,
related_name='+', default=5)
implantation = models.ForeignKey(ref.Implantation,
db_column='implantation',