Example #1
0
def manage_orders_pdf(request, tmpl, order_id=0):
    try:
        order_id = int(order_id)
        order = Order.objects.get(id=order_id)
    except:
        order = None

    if not order:
        return HttpResponseRedirect('/')

    response = HttpResponse(mimetype='application/pdf')
    response['Content-Disposition'] = 'attachment; filename=invoice_order_%d.pdf' % order_id
    response.write(gen_pdf(tmpl, {'user': order.user, 'order': order, 'lang': request.LANGUAGE_CODE[0:2],
                        'address_lines': settings.FULL_ADDRESS.strip().split("\n"),
                        'currency': settings.CURRENCY,
                        'tva': settings.TVA['value'],
                        'invoice_msg_frenchtaxcode': settings.TVA['invoice_msg_frenchtaxcode'],
                        'invoice_msg_notaxes': settings.TVA['invoice_msg_notaxes'],}))
    return response
Example #2
0
 def invoices(folder, paid=True):
     ret = True
     if paid:
         results = User.objects.filter(order__payment_date__isnull=False).order_by('id')
     else:
         results = User.objects.filter(order__payment_date__isnull=True).order_by('id')
     fails = []
     for u in results:
         translation.activate(u.get_profile().language)
         if paid:
             orders = u.order_set.filter(payment_date__isnull=False).order_by('id')
         else:
             orders = u.order_set.filter(payment_date__isnull=True).order_by('id')
         for i, o in enumerate(orders):
             bname = '%s/invoice_%04d-%03d.pdf' % (folder, u.id, i+1)
             print 'Writing invoice of user #%d: %s ...' % (u.id, bname),
             try:
                 buffer = gen_pdf('resa/orders_pdf.xml', {
                     'user': u, 'order': o, 'lang': u.get_profile().language,
                     'address_lines': settings.FULL_ADDRESS.strip().split("\n"),
                     'currency': settings.CURRENCY,
                     'tva': settings.TVA['value'],
                     'invoice_msg_frenchtaxcode': settings.TVA['invoice_msg_frenchtaxcode'],
                     'invoice_msg_notaxes': settings.TVA['invoice_msg_notaxes']
                     })
             except Exception, e:
                 sys.stderr.write("FAILURE: %s" % (str(e)))
                 buffer = None
             if buffer:
                 pdffile = open(bname, 'w')
                 pdffile.write(buffer)
                 pdffile.close()
                 print 'OK'
             else:
                 print 'FAIL'
                 fails.append(u.get_full_name())