From ea8193a663eebe0be3aa13ad895676a8c9a2cc42 Mon Sep 17 00:00:00 2001 From: chove Date: Tue, 25 Jan 2005 02:54:46 +0100 Subject: [PATCH] ajout de la gestion du solde darcs-hash:20050125015446-4ec08-8787cb180c5418f8fe2bc968307303b2c250a0e6.gz --- gestion/ldap_crans.py | 41 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 39 insertions(+), 2 deletions(-) diff --git a/gestion/ldap_crans.py b/gestion/ldap_crans.py index 553b1099..a6921ff3 100755 --- a/gestion/ldap_crans.py +++ b/gestion/ldap_crans.py @@ -795,9 +795,16 @@ class base_classes_crans(crans_ldap) : ### ON NE TOUCHE PAS A SELF.MODIFS, IL EST UTILISÉ PLUS LOIN !!!!!!! modif=', '.join(self.modifs) if "chbre" in self.modifs: - modif.replace('chbre', "chbre %s -> %s" % (self._init_data["chbre"][0], + modif = modif.replace('chbre', "chbre %s -> %s" % (self._init_data["chbre"][0], self._data["chbre"][0])) + if "solde" in self.modifs: + diff = string.atof(self._init_data["solde"][0]) - string.atof(self._data["solde"][0]) + if diff > 0 : + modif = modif.replace("solde", "debit %s Euros" % str(diff) ) + else : + modif = modif.replace("solde", "credit %s Euros" % str(-diff) ) + timestamp = localtime() hist = "%s, %s" % ( time.strftime(date_format, timestamp), script_utilisateur ) @@ -1022,7 +1029,37 @@ class base_proprietaire(base_classes_crans) : return [] else : return [] + + def solde(self, new=None) : + """ Retourne ou modifie le solde d'un propriétaire """ + if not self._data.has_key('solde') : + self._data['solde']=['0'] + solde = string.atof( self._data['solde'][0] ) + if new==None : + return solde + + # vérifie que new est un nombre + try : + new + 0 + except TypeError : + raise TypeError(u"Il faut donner un nombre en argument.") + + # découvert accepté + if new < 0 : + raise ValueError(u"Solde minimal atteind, opération non effectuée.") + + self._set('solde',[str(new)]) + return new + + def debit(self, montant) : + """ Effectue un débit sur le solde d'un propriétaire """ + return self.solde( self.solde() - montant ) + + def credit(self, montant) : + """ Effectue un crédit sur le solde d'un propriétaire """ + return self.solde( self.solde() + montant ) + def paiement(self,action=None) : """ Action est un entier représentant une année @@ -1030,7 +1067,7 @@ class base_proprietaire(base_classes_crans) : si négatif le supprime """ return self._an('paiement',action) - + def delete(self,comment='') : """Destruction du proprietaire"""