class Meta:
model = dae.Remuneration
+ def clean_devise(self):
+ devise = self.cleaned_data['devise']
+ liste_taux = devise.tauxchange_set.order_by('-annee').filter(implantation=self.instance.dossier.poste.implantation)
+ if len(liste_taux) == 0:
+ raise forms.ValidationError(u"La devise %s n'a pas de taux pour l'implantation %s" % (devise, self.instance.dossier.poste.implantation))
+ else:
+ return devise
+
+
class RemunForm(inlineformset_factory(dae.Dossier, dae.Remuneration, extra=5, form=FlexibleRemunForm)):
pass
return round(self.montant / 12, 2)
def taux_devise(self):
- return self.devise.tauxchange_set.order_by('-annee').filter(implantation=self.dossier.poste.implantation)[0].taux
+ liste_taux = self.devise.tauxchange_set.order_by('-annee').filter(implantation=self.dossier.poste.implantation)
+ if len(liste_taux) == 0:
+ raise Exception(u"La devise %s n'a pas de taux pour l'implantation %s" % (self.devise, self.dossier.poste.implantation))
+ else:
+ return liste_taux[0].taux
def montant_euro(self):
return round(float(self.montant) * float(self.taux_devise()), 2)