From 52200b2639f371bdc331f67ce9493eb31094b453 Mon Sep 17 00:00:00 2001 From: Faheed Date: Tue, 16 Sep 2025 20:17:21 +0300 Subject: [PATCH] added the print pdf for the po --- inventory/views.py | 24 ++- templates/inventory/car_detail.html | 55 ++++-- templates/purchase_orders/po_detail.html | 13 +- .../purchase_orders/po_detail_ar_pdf.html | 182 ++++++++++++++++++ ..._detail_pdf.html => po_detail_en_pdf.html} | 38 ++-- .../tags/po_item_table_print_ar.html | 39 ++++ .../tags/po_item_table_print_en.html | 39 ++++ 7 files changed, 344 insertions(+), 46 deletions(-) create mode 100644 templates/purchase_orders/po_detail_ar_pdf.html rename templates/purchase_orders/{po_detail_pdf.html => po_detail_en_pdf.html} (73%) create mode 100644 templates/purchase_orders/tags/po_item_table_print_ar.html create mode 100644 templates/purchase_orders/tags/po_item_table_print_en.html diff --git a/inventory/views.py b/inventory/views.py index a61f0afa..98201988 100644 --- a/inventory/views.py +++ b/inventory/views.py @@ -10987,14 +10987,32 @@ class PurchaseOrderDetailView(LoginRequiredMixin, PermissionRequiredMixin, Detai def get(self, request, *args, **kwargs): self.object = self.get_object() context = self.get_context_data(object=self.object) + po_items_qs, item_data = self.object.get_itemtxs_data( + queryset=self.object.itemtransactionmodel_set.all().select_related( + "item_model", "bill_model" + ) + ) + + if self.object.po_status == 'fulfilled': + context['po_items_list']=po_items_qs + context['vendor']=po_items_qs.first().bill_model.vendor + context['dealer']=request.dealer # Check if PDF format is requested if request.GET.get('format') == 'pdf': # Use a separate, print-friendly template for the PDF - html_string = render_to_string( - "purchase_orders/po_detail_pdf.html", + if request.GET.get('lang')=='en': + html_string = render_to_string( + "purchase_orders/po_detail_en_pdf.html", context - ) + ) + else: + html_string=render_to_string( + "purchase_orders/po_detail_ar_pdf.html", + context + ) + + # Use WeasyPrint to generate the PDF pdf = HTML(string=html_string).write_pdf() diff --git a/templates/inventory/car_detail.html b/templates/inventory/car_detail.html index 7c96a1c2..a6746835 100644 --- a/templates/inventory/car_detail.html +++ b/templates/inventory/car_detail.html @@ -76,25 +76,22 @@ {% endif %} {% if car.ready %} -
- + {% if active_estimates %} + -
- {{active_estimates|length}} -
- {% for e in active_estimates %} -
- {{e.content_object.estimate_number}} - {{e.related_object}} -
- {% endfor %} -
-
-
+ {% endif %} + {% endif %} {% if perms.inventory.view_car %}
@@ -638,6 +635,32 @@
{% endif %} + + + + {% endblock %} {% block customJS %}