From 9846ab8c5ded3a3d143089f684115be2c6319f02 Mon Sep 17 00:00:00 2001 From: Vincent Le Gallic Date: Thu, 29 Nov 2012 01:53:14 +0100 Subject: [PATCH] =?UTF-8?q?Ajout=20de=20la=20m=C3=A9thode=20update=5Fsolde?= =?UTF-8?q?=20=C3=A0=20la=20classe=20proprio?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lc_ldap.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/lc_ldap.py b/lc_ldap.py index 6b133fe..7d0ea69 100644 --- a/lc_ldap.py +++ b/lc_ldap.py @@ -576,8 +576,22 @@ class proprio(CransLdapObject): return bool_carte return True - - + def update_solde(self, diff, comment=u""): + """Modifie le solde du proprio. diff peut être négatif ou positif.""" + assert isinstance(diff, int) or isinstance(diff, float) + assert isinstance(comment, unicode) + + solde = float(self["solde"][0].value) + new_solde = solde + diff + + # On vérifie qu'on ne dépasse par le découvert autorisé + if new_solde < config.impression.decouvert: + raise ValueError(u"Solde minimal atteint, opération non effectuée.") + + transaction = u"credit" if diff >=0 else u"debit" + new_solde = u"%.2f" % new_solde + self.history_add(current_user, u"%s %.2f Euros [%s]" % (transaction, abs(diff), comment)) + self["solde"] = new_solde def machines(self): """Renvoie la liste des machines"""