Source code for plata.reporting.views

from __future__ import absolute_import, unicode_literals

from django.contrib.admin.views.decorators import staff_member_required
from django.contrib.auth.decorators import login_required
from django.http import Http404
from django.shortcuts import get_object_or_404

from pdfdocument.utils import pdf_response

# import plata
import plata.reporting.product
import plata.reporting.order
import plata.reporting.product
from plata.reporting.pdfdocument import PlataPDFDocument


[docs]@staff_member_required def product_xls(request): """ Returns an XLS containing product information """ return plata.reporting.product.product_xls().to_response("products.xlsx")
[docs]@staff_member_required def invoice_pdf(request, order_id): """ Returns the invoice PDF """ order = get_object_or_404(plata.shop_instance().order_model, pk=order_id) pdf, response = pdf_response( "invoice-%09d" % order.id, pdfdocument=PlataPDFDocument ) plata.reporting.order.invoice_pdf(pdf, order) return response
[docs]@login_required def invoice(request, order_id): """ Returns the invoice PDF """ order = get_object_or_404(plata.shop_instance().order_model, pk=order_id) if order in request.user.orders.all(): pdf, response = pdf_response("invoice-%09d" % order.id) plata.reporting.order.invoice_pdf(pdf, order) return response else: raise Http404
[docs]@staff_member_required def packing_slip_pdf(request, order_id): """ Returns the packing slip PDF """ order = get_object_or_404(plata.shop_instance().order_model, pk=order_id) pdf, response = pdf_response( "packing-slip-%09d" % order.id, pdfdocument=PlataPDFDocument ) plata.reporting.order.packing_slip_pdf(pdf, order) return response