- salaire = dossier.get_salaire()
- if salaire is not None:
- data['montant'] = float(salaire.montant)
- else:
- data['montant'] = None
- if salaire is not None and salaire.devise is not None:
- data['devise'] = salaire.devise.id
- data['montant_euros'] = salaire.montant_euros()
- else:
- data['devise'] = None
- data['montant_euros'] = 0
+
+ # Toutes les rémunérations d'un dossier
+ remunerations = [r for r in dossier.remunerations().order_by('-date_debut') if \
+ r.type.nature_remuneration == "Traitement"]
+
+ # On prend les dernières avec le postulat que les rémun à la même date
+ # constituent le dernier salaire
+ if len(remunerations) > 0:
+ date_debut = remunerations[0].date_debut
+ remunerations = [r for r in remunerations if r.date_debut == date_debut]
+
+ montant = 0.0
+ montant_euros = 0.0
+ devise = None
+
+ # Les remun sont sensées être dans la même devise
+ for r in remunerations:
+ montant += float(r.montant)
+ montant_euros += r.montant_euros()
+ devise = r.devise.id
+
+ data['devise'] = devise
+ data['montant'] = montant
+ data['montant_euros'] = montant_euros
+