[whos] Ajout de l'affichage de la liste des factures de l'adherent

En dessous de la liste de ses machines
This commit is contained in:
Valentin Samir 2013-11-25 23:54:24 +01:00
parent 0bb0a6c8bd
commit b9e05f3260
2 changed files with 39 additions and 1 deletions

View file

@ -1,6 +1,7 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Les clef sont un code article
items = {
'CABLE' : {'designation': u'Cable Ethernet 5m', 'pu': 3},
'ADAPTATEUR' : {'designation': u'Adaptateur Ethernet/USB', 'pu': 17},

View file

@ -355,6 +355,35 @@ def list_machines(machines) :
largeur = [5, 5, 9, '*', larg, 17, 10],
alignement = ['d', 'd', 'c', 'c', 'c', 'c', 'c'])
def list_factures(factures) :
"""
Formatage sous forme d'un tableau des propriétés de la liste de facture :
* fid
* mode de paiement
* payé
* codes article
* total
"""
data = []
# Copie locale triée par fid
factures = factures[:]
factures.sort(lambda x, y: cmp(x.id(), y.id()))
for f in factures :
data.append([
f.id(),
f.modePaiement(),
coul("OK", "vert") if f.recuPaiement() else coul("NON", "rouge"),
', '.join(a['code'] for a in f.articles()),
u"%s" % sum([float(a['pu'])*int(a['nombre']) for a in f.articles()])
])
return tableau(data,
titre = [u'fid', u'Mode de paiement', u'Payé', u'Articles', u"Total"],
largeur = [5, 16, 6, '*', 8],
alignement = ['d', 'g', 'c', 'g', 'd'])
def list_spec(machines) :
"""
Formatage sous forme d'un tableau des propriétés de la liste de machines spéciales :
@ -598,6 +627,14 @@ def adher_details(adher) :
else :
f += u'aucune'
f += u"\n"
f += coul(u'Facture(s) : ','gras')
m = adher.factures()
if m :
f += u'\n' + list_factures(m)
else :
f += u'aucune'
return f
clients_ipsec = None