def dossiers_passes(self):
today = date.today()
- return self.dossiers.filter(date_fin__lt=today).order_by('-date_fin')
+ dossiers_passes = self.dossiers.filter(date_fin__lt=today).order_by('-date_fin')
+ for d in dossiers_passes:
+ d.archive = True
+ return dossiers_passes
def dossiers_futurs(self):
today = date.today()
def dossiers_encours(self):
dossiers_p_f = self.dossiers_passes() | self.dossiers_futurs()
ids_dossiers_p_f = [d.id for d in dossiers_p_f]
- return self.dossiers.exclude(id__in=ids_dossiers_p_f).order_by('-date_fin')
+ dossiers_encours = self.dossiers.exclude(id__in=ids_dossiers_p_f).order_by('-date_fin')
+
+ # TODO : supprimer ce code quand related_name fonctionnera ou d.remuneration_set
+ for d in dossiers_encours:
+ d.remunerations = Remuneration.objects.filter(dossier=d.id).order_by('-id')
+ return dossiers_encours
def postes_encours(self):
postes_encours = set()
return postes_encours
def poste_principal(self):
- return self.dossiers_encours()[0].poste
+ """
+ Retourne le Poste du premier Dossier créé parmi les Dossiers en cours.
+ Idée derrière :
+ si on ajout d'autre Dossiers, c'est pour des Postes secondaires.
+ """
+ poste = Poste.objects.none()
+ try:
+ poste = self.dossiers_encours().order_by('date_debut')[0].poste
+ except:
+ pass
+ return poste
class EmployePiece(models.Model):
"""Documents relatifs à un employé.
verbose_name = "Dossier"
verbose_name_plural = "Dossiers"
+ def salaire_theorique(self):
+ annee = date.today().year
+ coeff = self.classement.coefficient
+ implantation = self.poste.implantation
+ point = ValeurPoint.objects.get(implantation=implantation, annee=annee)
+
+ montant = coeff * point.valeur
+ devise = point.devise
+ return {'montant':montant, 'devise':devise}
+
def __unicode__(self):
poste = self.poste.nom
if self.employe.genre == 'F':
objects = ContratManager()
dossier = models.ForeignKey('Dossier', db_column='dossier',
- related_name='+')
+ related_name='contrats')
type_contrat = models.ForeignKey('TypeContrat', db_column='type_contrat',
related_name='+',
verbose_name="Type de contrat")