fix infos manqunates
[auf_rh_dae.git] / project / rh_v1 / models.py
index 43d4228..3852093 100644 (file)
@@ -157,7 +157,11 @@ class Dossier(models.Model):
         toutes les rémuérations n'ont pas de devise associées, c'est pourquoi on récupère
         les anciennes rémunérations pour rechercher si elle existait auparavant.
         """
-        return "%s %s" % (self.get_salaire(), self.dernier_salaire_remun().devise.code, )
+        if self.dernier_salaire_remun() is not None:
+            devise_code = self.dernier_salaire_remun().devise.code
+        else:
+            devise_code = '???'
+        return "%s %s" % (self.get_salaire(), devise_code, )
 
     def get_salaire_euro_display(self):
         """
@@ -220,11 +224,22 @@ class Remuneration(models.Model):
         return "%s %s (%s EUR - %s)" % (self.montant, devise, self.en_euros(), self.get_taux_historique(), )
 
     def get_taux_historique(self):
-        tauxchange = TauxChange.objects.filter(devise=self.devise, annee=self.date_creation.year)[0]
-        return tauxchange
+        """
+        Retourne le taux en vigueur durant l'année considérée. Un taux de 0 est crée, si le taux de change
+        n'existe pas.
+        """
+        taux = TauxChange.objects.filter(devise=self.devise, annee=self.date_creation.year)
+        if len(taux) > 0:
+            return taux[0]
+        else:   
+            return None
 
     def en_euros(self):
-        return int(self.montant * self.get_taux_historique().taux)
+        tauxchange = self.get_taux_historique()
+        if tauxchange is not None:
+            return int(self.montant * tauxchange.taux)
+        else:
+            return 0
 
 class FamilleEmploi(models.Model):
     # Identification
@@ -403,7 +418,7 @@ class Classement(models.Model):
 class TauxChange(models.Model):
     # Identification
     id = models.IntegerField(primary_key=True)
-    devise = models.ForeignKey('Devise', to_field='code', db_column='devise')
+    devise = models.ForeignKey('Devise', to_field='id', db_column='devise')
     annee = models.IntegerField()
     taux = models.FloatField()
     # Relations