From 55b835f49e6a70edfe85d3263acf82caf9b87e32 Mon Sep 17 00:00:00 2001 From: Oliver Date: Thu, 16 Mar 2023 16:21:14 +1100 Subject: [PATCH] Add ability to create a new extra line item --- .../order/purchase_order_detail.html | 142 +++++++++--------- .../templates/order/return_order_detail.html | 13 +- .../templates/order/sales_order_detail.html | 108 ++++++------- 3 files changed, 141 insertions(+), 122 deletions(-) diff --git a/InvenTree/order/templates/order/purchase_order_detail.html b/InvenTree/order/templates/order/purchase_order_detail.html index 7743e6c630..e8062c133f 100644 --- a/InvenTree/order/templates/order/purchase_order_detail.html +++ b/InvenTree/order/templates/order/purchase_order_detail.html @@ -146,30 +146,32 @@ ); }); - enableDragAndDrop( - '#attachment-dropzone', - '{% url "api-po-attachment-list" %}', - { - data: { - order: {{ order.id }}, - }, - label: 'attachment', - success: function(data, status, xhr) { - $('#attachment-table').bootstrapTable('refresh'); + onPanelLoad('order-attachments', function() { + enableDragAndDrop( + '#attachment-dropzone', + '{% url "api-po-attachment-list" %}', + { + data: { + order: {{ order.id }}, + }, + label: 'attachment', + success: function(data, status, xhr) { + $('#attachment-table').bootstrapTable('refresh'); + } } - } - ); + ); - loadAttachmentTable('{% url "api-po-attachment-list" %}', { - filters: { - order: {{ order.pk }}, - }, - fields: { - order: { - value: {{ order.pk }}, - hidden: true, + loadAttachmentTable('{% url "api-po-attachment-list" %}', { + filters: { + order: {{ order.pk }}, + }, + fields: { + order: { + value: {{ order.pk }}, + hidden: true, + } } - } + }); }); loadStockTable($("#stock-table"), { @@ -219,60 +221,62 @@ $('#new-po-line').click(function() { {% endif %} -loadPurchaseOrderLineItemTable('#po-line-table', { - order: {{ order.pk }}, - {% if order.supplier %} - supplier: {{ order.supplier.pk }}, - {% endif %} - {% if roles.purchase_order.change %} - allow_edit: true, - {% else %} - allow_edit: false, - {% endif %} - {% if order.status == PurchaseOrderStatus.PENDING %} - pending: true, - {% endif %} - {% if order.status == PurchaseOrderStatus.PLACED and roles.purchase_order.change %} - allow_receive: true, - {% else %} - allow_receive: false, - {% endif %} -}); - -$("#new-po-extra-line").click(function() { - - var fields = extraLineFields({ +onPanelLoad('order-items', function() { + loadPurchaseOrderLineItemTable('#po-line-table', { order: {{ order.pk }}, + {% if order.supplier %} + supplier: {{ order.supplier.pk }}, + {% endif %} + {% if roles.purchase_order.change %} + allow_edit: true, + {% else %} + allow_edit: false, + {% endif %} + {% if order.status == PurchaseOrderStatus.PENDING %} + pending: true, + {% endif %} + {% if order.status == PurchaseOrderStatus.PLACED and roles.purchase_order.change %} + allow_receive: true, + {% else %} + allow_receive: false, + {% endif %} }); - {% if order.supplier.currency %} - fields.price_currency.value = '{{ order.supplier.currency }}'; - {% endif %} + $("#new-po-extra-line").click(function() { - constructForm('{% url "api-po-extra-line-list" %}', { - fields: fields, - method: 'POST', - title: '{% trans "Add Order Line" %}', - onSuccess: function() { - $("#po-extra-lines-table").bootstrapTable("refresh"); - }, + var fields = extraLineFields({ + order: {{ order.pk }}, + }); + + {% if order.supplier.currency %} + fields.price_currency.value = '{{ order.supplier.currency }}'; + {% endif %} + + constructForm('{% url "api-po-extra-line-list" %}', { + fields: fields, + method: 'POST', + title: '{% trans "Add Order Line" %}', + onSuccess: function() { + $("#po-extra-lines-table").bootstrapTable("refresh"); + }, + }); }); -}); -loadExtraLineTable({ - table: '#po-extra-lines-table', - order: {{ order.pk }}, - url: '{% url "api-po-extra-line-list" %}', - name: 'purchaseorderextraline', - filtertarget: '#filter-list-purchase-order-extra-lines', - {% settings_value "PURCHASEORDER_EDIT_COMPLETED_ORDERS" as allow_edit %} - {% if order.is_pending or allow_edit %} - allow_edit: {% js_bool roles.purchase_order.change %}, - allow_delete: {% js_bool roles.purchase_order.delete %}, - {% else %} - allow_edit: false, - allow_delete: false, - {% endif %} + loadExtraLineTable({ + table: '#po-extra-lines-table', + order: {{ order.pk }}, + url: '{% url "api-po-extra-line-list" %}', + name: 'purchaseorderextraline', + filtertarget: '#filter-list-purchase-order-extra-lines', + {% settings_value "PURCHASEORDER_EDIT_COMPLETED_ORDERS" as allow_edit %} + {% if order.is_pending or allow_edit %} + allow_edit: {% js_bool roles.purchase_order.change %}, + allow_delete: {% js_bool roles.purchase_order.delete %}, + {% else %} + allow_edit: false, + allow_delete: false, + {% endif %} + }); }); loadOrderTotal( diff --git a/InvenTree/order/templates/order/return_order_detail.html b/InvenTree/order/templates/order/return_order_detail.html index 54107d6cf2..ac9637b553 100644 --- a/InvenTree/order/templates/order/return_order_detail.html +++ b/InvenTree/order/templates/order/return_order_detail.html @@ -102,7 +102,18 @@ onPanelLoad('order-details', function() { }); $('#new-return-order-extra-line').click(function() { - // TODO: Create new return order extra line item + let fields = extraLineFields({ + order: {{ order.pk }}, + }); + + constructForm('{% url "api-return-order-extra-line-list" %}', { + fields: fields, + method: 'POST', + title: '{% trans "Add Extra Line" %}', + onSuccess: function() { + $("#return-order-extra-lines-table").bootstrapTable('refresh'); + } + }); }); }); diff --git a/InvenTree/order/templates/order/sales_order_detail.html b/InvenTree/order/templates/order/sales_order_detail.html index 864c112c3f..40aa85ad70 100644 --- a/InvenTree/order/templates/order/sales_order_detail.html +++ b/InvenTree/order/templates/order/sales_order_detail.html @@ -244,66 +244,70 @@ }, }); - $("#new-so-line").click(function() { - createSalesOrderLineItem({ - order: {{ order.pk }}, - onSuccess: function() { - $("#so-lines-table").bootstrapTable("refresh"); + onPanelLoad('order-items', function() { + + $("#new-so-line").click(function() { + createSalesOrderLineItem({ + order: {{ order.pk }}, + onSuccess: function() { + $("#so-lines-table").bootstrapTable("refresh"); + } + }); + + // Create a new SalesOrderLine item + var fields = soLineItemFields({ + order: {{ order.pk }}, + }); + }); + + loadSalesOrderLineItemTable( + '#so-lines-table', + { + order: {{ order.pk }}, + reference: '{{ order.reference }}', + status: {{ order.status }}, + {% if roles.sales_order.change %} + allow_edit: true, + {% endif %} + {% if order.is_pending %} + pending: true, + {% endif %} } + ); + + $("#new-so-extra-line").click(function() { + + var fields = extraLineFields({ + order: {{ order.pk }}, + }); + + constructForm('{% url "api-so-extra-line-list" %}', { + fields: fields, + method: 'POST', + title: '{% trans "Add Extra Line" %}', + onSuccess: function() { + $("#so-extra-lines-table").bootstrapTable("refresh"); + }, + }); }); - // Create a new SalesOrderLine item - var fields = soLineItemFields({ + loadExtraLineTable({ order: {{ order.pk }}, - }); - }); - - loadSalesOrderLineItemTable( - '#so-lines-table', - { - order: {{ order.pk }}, - reference: '{{ order.reference }}', - status: {{ order.status }}, - {% if roles.sales_order.change %} - allow_edit: true, + table: '#so-extra-lines-table', + url: '{% url "api-so-extra-line-list" %}', + name: 'salesorderextraline', + filtertarget: '#filter-list-sales-order-extra-lines', + {% settings_value "SALESORDER_EDIT_COMPLETED_ORDERS" as allow_edit %} + {% if order.is_pending or allow_edit %} + allow_edit: {% js_bool roles.sales_order.change %}, + allow_delete: {% js_bool roles.sales_order.delete %}, + {% else %} + allow_edit: false, + allow_delete: false, {% endif %} - {% if order.is_pending %} - pending: true, - {% endif %} - } - ); - - $("#new-so-extra-line").click(function() { - - var fields = extraLineFields({ - order: {{ order.pk }}, - }); - - constructForm('{% url "api-so-extra-line-list" %}', { - fields: fields, - method: 'POST', - title: '{% trans "Add Extra Line" %}', - onSuccess: function() { - $("#so-extra-lines-table").bootstrapTable("refresh"); - }, }); }); - loadExtraLineTable({ - order: {{ order.pk }}, - table: '#so-extra-lines-table', - url: '{% url "api-so-extra-line-list" %}', - name: 'salesorderextraline', - filtertarget: '#filter-list-sales-order-extra-lines', - {% settings_value "SALESORDER_EDIT_COMPLETED_ORDERS" as allow_edit %} - {% if order.is_pending or allow_edit %} - allow_edit: {% js_bool roles.sales_order.change %}, - allow_delete: {% js_bool roles.sales_order.delete %}, - {% else %} - allow_edit: false, - allow_delete: false, - {% endif %} - }); loadOrderTotal( '#soTotalPrice',