Commit 32103fd6 authored by Antoine Bernard's avatar Antoine Bernard

Fonction générant la preuve d'adhésion.

parent 9c476f67
......@@ -121,3 +121,48 @@ class FactureView(PDFView):
return super(FactureView, self).get(request)
facture = FactureView.as_view()
class FormulaireView(PDFView):
"""
View générant le fichier PDF d'un formulaire d'adhésion ou de
réadhésion.
"""
tex_template = 'factures/formulaire-adhesion.tex' # Dans usr/scripts ?
def get(self, request, fid):
luser = conn_pool.get_user(request.user)
f = conn_pool.get_conn(request.user).search(u"fid=%s" % int(fid))
if not f: # Si la facture n'existe pas
return redirect('factures:index')
else: # Sinon, le premier élément de f est la facture.
f = f[0]
# On vérifie que l'utilisateur demande une facture dont il est le
# propriétaire, ou que l'utilisateur est un câbleur.
if not f.dn in [fac.dn for fac in luser.factures()] \
and not request.user.has_perm('auth.crans_cableur'):
return redirect('factures:index')
total = 0
for i in range(0,len(f['article'])):
f['article'][i].value['ptotal'] = int(f['article'][i]['nombre']) * float(f['article'][i]['pu'])
total += f['article'][i].value['ptotal']
if f.get('recuPaiement', []):
paid = total
else:
paid = 0
# On récupère la date et l'heure de la facture
(jour, heure) = f['historique'][0].value.split(',')[0].split(" ")
date = u"Le %s à %s" % (jour, heure.replace(":", "h"))
self.context = {
'paid': paid,
'DATE': date,
'f': f,
'fid': fid,
}
return super(FormulaireView, self).get(request)
formulaire = FormulaireView.as_view()
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment