From 7800664f4b07c6a32b60e806dc945bbabc3c3ee7 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Wed, 10 Mar 2021 18:29:22 +1100 Subject: [PATCH] Add printing endpoints --- InvenTree/report/api.py | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/InvenTree/report/api.py b/InvenTree/report/api.py index 70f9625dab..7f39f16f7f 100644 --- a/InvenTree/report/api.py +++ b/InvenTree/report/api.py @@ -586,6 +586,23 @@ class POReportDetail(generics.RetrieveUpdateDestroyAPIView): serializer_class = POReportSerializer +class POReportPrint(generics.RetrieveAPIView, OrderReportMixin, ReportPrintMixin): + """ + API endpoint for printing a PurchaseOrderReport object + """ + + OrderModel = order.models.PurchaseOrder + + queryset = PurchaseOrderReport.objects.all() + serializer_class = POReportSerializer + + def get(self, request, *args, **kwargs): + + orders = self.get_orders() + + return self.print(request, orders) + + class SOReportList(ReportListView, OrderReportMixin): OrderModel = order.models.SalesOrder @@ -652,12 +669,30 @@ class SOReportDetail(generics.RetrieveUpdateDestroyAPIView): serializer_class = SOReportSerializer +class SOReportPrint(generics.RetrieveAPIView, OrderReportMixin, ReportPrintMixin): + """ + API endpoint for printing a PurchaseOrderReport object + """ + + OrderModel = order.models.SalesOrder + + queryset = SalesOrderReport.objects.all() + serializer_class = SOReportSerializer + + def get(self, request, *args, **kwargs): + + orders = self.get_orders() + + return self.print(request, orders) + + report_api_urls = [ # Purchase order reports url(r'po/', include([ # Detail views url(r'^(?P\d+)/', include([ + url(r'print/', POReportPrint.as_view(), name='api-po-report-print'), url(r'^$', POReportDetail.as_view(), name='api-po-report-detail'), ])), @@ -669,6 +704,7 @@ report_api_urls = [ url(r'so/', include([ # Detail views url(r'^(?P\d+)/', include([ + url(r'print/', SOReportPrint.as_view(), name='api-so-report-print'), url(r'^$', SOReportDetail.as_view(), name='api-so-report-detail'), ])),