Les frais ne sont plus facturés, et on ajoute une fonction de remise (for future work)
This commit is contained in:
parent
7046a8cc87
commit
b2afd29bb9
1 changed files with 18 additions and 27 deletions
|
@ -3973,9 +3973,6 @@ class Facture(BaseClasseCrans):
|
|||
# levera une exeption
|
||||
self._crediter()
|
||||
|
||||
# ajout des frais à la liste d'articles
|
||||
self.ajoute(self._frais())
|
||||
|
||||
# modifie la base ldap
|
||||
self._set("recuPaiement", [new])
|
||||
elif new == False:
|
||||
|
@ -4061,30 +4058,11 @@ class Facture(BaseClasseCrans):
|
|||
def _frais(self):
|
||||
"""
|
||||
Retourne une liste d'articles correspondants aux divers frais
|
||||
Facturer les frais étant illicite (article L112-12 du code monétaire et financier),
|
||||
on droppe cette fonctionnalité. La fonction ne reste que pour des raisons de rétro-compatibilité.
|
||||
"""
|
||||
|
||||
arts = []
|
||||
|
||||
# aucun frais pour une facture payée, ils sont intégrés aux articles
|
||||
if self.recuPaiement():
|
||||
return []
|
||||
|
||||
# frais de paiement par paypal
|
||||
if self.modePaiement() == 'paypal':
|
||||
# 25 centimes pour le paiement paypal
|
||||
s = 0.25
|
||||
|
||||
# et on ajoute 3.5% du montant
|
||||
for art in self._articles():
|
||||
s += 0.035 * art['nombre'] * art['pu']
|
||||
|
||||
# arrondissage-tronquage
|
||||
s = float(int(s*100)/100.0)
|
||||
|
||||
# ajoute à la liste d'articles de frais
|
||||
arts.append( {'code':'FRAIS', 'designation':'Frais de tansaction PayPal', 'nombre':1, 'pu':round(s, 2)} )
|
||||
|
||||
return arts
|
||||
return []
|
||||
|
||||
def _articles(self, arts = None):
|
||||
"""Retourne ou modifie la liste des articles de la base"""
|
||||
|
@ -4108,6 +4086,19 @@ class Facture(BaseClasseCrans):
|
|||
|
||||
return arts
|
||||
|
||||
def remise(self, amount, reason):
|
||||
"""Effectue une remise du montant annoncé. Cela crée un article
|
||||
explicite annonçant qu'il y a une remise. Une remise ne peut
|
||||
jamais excéder le montant total actuel de la facture."""
|
||||
|
||||
amount = min(amount, self.total())
|
||||
self.ajoute({
|
||||
'nombre': 1,
|
||||
'code': 'REMISE',
|
||||
'designation': 'Remise : %s' % (reason,),
|
||||
'pu': -amount,
|
||||
})
|
||||
|
||||
def ajoute(self, ajoute):
|
||||
"""Ajoute un/des article(s) à la facture
|
||||
ajoute est un article ou une liste d'articles
|
||||
|
@ -4169,11 +4160,11 @@ class Facture(BaseClasseCrans):
|
|||
'nombre' : int,
|
||||
'pu' : int/float }
|
||||
"""
|
||||
return self._articles() + self._frais()
|
||||
return self._articles()
|
||||
|
||||
def total(self):
|
||||
"""
|
||||
Calcule le total de la facture, frais compris
|
||||
Calcule le total de la facture.
|
||||
"""
|
||||
s = 0
|
||||
for art in self.articles():
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue