data['implantation'] = dossier.implantation1.id
data['poste'] = u"%s %s" % (dossier.poste1.type_poste.nom, dossier.complement1)
data['montant'] = dossier.get_salaire()
- data['devise'] = dossier.get_dernier_salaire_remun().devise.id
- data['montant_euros'] = dossier.get_dernier_salaire_remun().en_euros()
-
+ salaire = dossier.get_dernier_salaire_remun()
+ if salaire is not None:
+ data['devise'] = dossier.get_dernier_salaire_remun().devise.id
+ data['montant_euros'] = dossier.get_dernier_salaire_remun().en_euros()
+ else:
+ data['devise'] = None
+ data['montant_euros'] = 0
return HttpResponse(dumps(data))
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):
"""
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
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