salaire ajoute les types de remun traitement
authorOlivier Larchevêque <olivier.larcheveque@auf.org>
Thu, 12 Jul 2012 18:55:28 +0000 (14:55 -0400)
committerOlivier Larchevêque <olivier.larcheveque@auf.org>
Thu, 12 Jul 2012 18:55:28 +0000 (14:55 -0400)
project/dae/views.py

index 9a52585..bcbad9e 100644 (file)
@@ -825,17 +825,31 @@ def dossier_resume(request, dossier_id=None):
         data['statut'] = dossier.statut.id
     data['implantation'] = dossier.poste.implantation.id
     data['poste'] = dossier.poste.nom
-    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
+
     return HttpResponse(dumps(data))