from auf.django.metadata.managers import NoDeleteManager
import auf.django.references.models as ref
from validators import validate_date_passee
-from dae.managers import SecurityManager
+from managers import PosteManager, DossierManager
# Constantes
REGIME_TRAVAIL_DEFAULT = 100.00
('externe', 'Externe'),
)
-class PosteManager(SecurityManager):
- """
- Chargement de tous les objets FK existants sur chaque QuerySet.
- """
- prefixe_implantation = "implantation__region"
-
- def get_query_set(self):
- fkeys = (
- 'implantation',
- 'type_poste',
- )
- return super(PosteManager, self).get_query_set().select_related(*fkeys).all()
-
class Poste_(AUFMetadata):
"""Un Poste est un emploi (job) à combler dans une implantation.
Un Poste peut être comblé par un Employe, auquel cas un Dossier est créé.
null=True)
service = models.ForeignKey('Service', db_column='service', null=True,
related_name='+',
- verbose_name = u"Direction/Service/Pôle support",
- default=1) # default = Rectorat
+ verbose_name = u"Direction/Service/Pôle support", )
responsable = models.ForeignKey('Poste', db_column='responsable',
related_name='+', null=True,
- verbose_name = u"Poste du responsable",
- default=149) # default = Recteur
+ verbose_name = u"Poste du responsable", )
# Contrat
regime_travail = models.DecimalField(max_digits=12, decimal_places=2,
Une structure de Remuneration est rattachée au Dossier. Un Poste pour
lequel aucun Dossier n'existe est un poste vacant.
"""
+
+ objects = DossierManager()
+
# Identification
employe = models.ForeignKey('Employe', db_column='employe',
related_name='dossiers',
verbose_name = u"Valeur du point"
verbose_name_plural = u"Valeurs du point"
- # TODO : cette fonction n'était pas présente dans la branche dev, utilité?
- def get_tauxchange_courant(self):
- """
- Recherche le taux courant associé à la valeur d'un point.
- Tous les taux de l'année courante sont chargés, pour optimiser un
- affichage en liste. (On pourrait probablement améliorer le manager pour
- lui greffer le taux courant sous forme de JOIN)
- """
- for tauxchange in self.tauxchange:
- if tauxchange.implantation_id == self.implantation_id:
- return tauxchange
- return None
-
def __unicode__(self):
return u'%s %s (%s)' % (self.valeur, self.devise, self.annee)