diff --git a/gestion/config/factures.py b/gestion/config/factures.py index 742335a5..afe7171b 100644 --- a/gestion/config/factures.py +++ b/gestion/config/factures.py @@ -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}, diff --git a/gestion/whos.py b/gestion/whos.py index 1b55fd31..a03d141e 100755 --- a/gestion/whos.py +++ b/gestion/whos.py @@ -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