From b392586a0866a662b9be8a49a2caa4ad77b571f7 Mon Sep 17 00:00:00 2001 From: Matthias Date: Wed, 5 May 2021 20:55:37 +0200 Subject: [PATCH] quantity also for modal --- .../templates/order/sales_order_detail.html | 3 +++ InvenTree/part/views.py | 18 +++++++++++++++--- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/InvenTree/order/templates/order/sales_order_detail.html b/InvenTree/order/templates/order/sales_order_detail.html index 33487398b1..d57c0da98a 100644 --- a/InvenTree/order/templates/order/sales_order_detail.html +++ b/InvenTree/order/templates/order/sales_order_detail.html @@ -400,6 +400,8 @@ function setupCallbacks() { $(".button-price").click(function() { var pk = $(this).attr('pk'); + var idx = $(this).closest('tr').attr('data-index'); + var row = table.bootstrapTable('getData')[idx]; launchModalForm( "{% url 'line-pricing' %}", @@ -407,6 +409,7 @@ function setupCallbacks() { submit_text: '{% trans "Calculate price" %}', data: { line_item: pk, + quantity: row.quantity, }, } ); diff --git a/InvenTree/part/views.py b/InvenTree/part/views.py index d7c68dd6a3..b7bebb6d05 100644 --- a/InvenTree/part/views.py +++ b/InvenTree/part/views.py @@ -1959,8 +1959,19 @@ class PartPricing(AjaxView): def get_quantity(self): """ Return set quantity in decimal format """ - - return Decimal(self.request.POST.get('quantity', 1)) + + # check POST + qty = self.request.POST.get('quantity', None) + + # check GET + if not qty: + qty = self.request.GET.get('quantity', None) + + # nothing found: return 1 + if not qty: + return Decimal(1) + # return as decimal + return Decimal(qty) def get_part(self): try: @@ -2048,7 +2059,8 @@ class PartPricing(AjaxView): def get(self, request, *args, **kwargs): - return self.renderJsonResponse(request, self.form_class(), context=self.get_pricing()) + quantity = self.get_quantity() + return self.renderJsonResponse(request, self.form_class(initial={'quantity': quantity}), context=self.get_pricing(quantity)) def post(self, request, *args, **kwargs):