Front-end pour les oprations/visualisation du solde

Droits imrpimeur pour pourvoir crditer/dbiter un compte.

darcs-hash:20050212183442-41617-26b8acd481fe3f71b095ec5c69bf9293ef9fbff6.gz
This commit is contained in:
pauget 2005-02-12 19:34:42 +01:00
parent e19194147e
commit 60be2b4c14
4 changed files with 63 additions and 44 deletions

View file

@ -59,7 +59,7 @@ blacklist_items = { u'bloq' : u'Bloquage total de tout services' ,
##################################################################################
### Droits possibles
droits_possibles = [ u'Nounou', u'Apprenti', u'Modérateur', u'Câbleur', u'Déconnecteur',u'CVSWeb' , u'WebRadio' ]
droits_possibles = [ u'Nounou', u'Apprenti', u'Modérateur', u'Câbleur', u'Déconnecteur',u'CVSWeb' , u'WebRadio' , u'Imprimeur']
##################################################################################
### Variables internes diverses
@ -799,7 +799,7 @@ class base_classes_crans(crans_ldap) :
self._data["chbre"][0]))
if "solde" in self.modifs:
diff = string.atof(self._init_data["solde"][0]) - string.atof(self._data["solde"][0])
diff = float(self._init_data.get('solde',[0])[0]) - float(self._data.get('solde',[0])[0])
if diff > 0 :
modif = modif.replace("solde", "debit %s Euros" % str(diff) )
else :
@ -1030,36 +1030,29 @@ class base_proprietaire(base_classes_crans) :
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] )
def solde(self, operation=None) :
""" Retourne ou modifie le solde d'un propriétaire
operation doit être un nombre positif ou négatif
(string ou int ou float)
"""
solde = float(self._data.get('solde',[0])[0])
if new==None :
if operation==None :
return solde
# vérifie que new est un nombre
# On effectue une opération
try :
new + 0
except TypeError :
raise TypeError(u"Il faut donner un nombre en argument.")
new = solde + float(operation.replace(',','.'))
except ValueError :
raise ValueError(u"Il faut donner un nombre en argument.")
# découvert accepté
if new < 0 :
if new < config.decouvert :
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