mirror of
				https://github.com/inventree/InvenTree.git
				synced 2025-10-31 05:05:42 +00:00 
			
		
		
		
	Add ability to create a new extra line item
This commit is contained in:
		| @@ -146,30 +146,32 @@ | |||||||
|         ); |         ); | ||||||
|     }); |     }); | ||||||
|  |  | ||||||
|     enableDragAndDrop( |     onPanelLoad('order-attachments', function() { | ||||||
|         '#attachment-dropzone', |         enableDragAndDrop( | ||||||
|         '{% url "api-po-attachment-list" %}', |             '#attachment-dropzone', | ||||||
|         { |             '{% url "api-po-attachment-list" %}', | ||||||
|             data: { |             { | ||||||
|                 order: {{ order.id }}, |                 data: { | ||||||
|             }, |                     order: {{ order.id }}, | ||||||
|             label: 'attachment', |                 }, | ||||||
|             success: function(data, status, xhr) { |                 label: 'attachment', | ||||||
|                 $('#attachment-table').bootstrapTable('refresh'); |                 success: function(data, status, xhr) { | ||||||
|  |                     $('#attachment-table').bootstrapTable('refresh'); | ||||||
|  |                 } | ||||||
|             } |             } | ||||||
|         } |         ); | ||||||
|     ); |  | ||||||
|  |  | ||||||
|     loadAttachmentTable('{% url "api-po-attachment-list" %}', { |         loadAttachmentTable('{% url "api-po-attachment-list" %}', { | ||||||
|         filters: { |             filters: { | ||||||
|             order: {{ order.pk }}, |                 order: {{ order.pk }}, | ||||||
|         }, |             }, | ||||||
|         fields: { |             fields: { | ||||||
|             order: { |                 order: { | ||||||
|                 value: {{ order.pk }}, |                     value: {{ order.pk }}, | ||||||
|                 hidden: true, |                     hidden: true, | ||||||
|  |                 } | ||||||
|             } |             } | ||||||
|         } |         }); | ||||||
|     }); |     }); | ||||||
|  |  | ||||||
|     loadStockTable($("#stock-table"), { |     loadStockTable($("#stock-table"), { | ||||||
| @@ -219,60 +221,62 @@ $('#new-po-line').click(function() { | |||||||
|  |  | ||||||
| {% endif %} | {% endif %} | ||||||
|  |  | ||||||
| loadPurchaseOrderLineItemTable('#po-line-table', { | onPanelLoad('order-items', function() { | ||||||
|     order: {{ order.pk }}, |     loadPurchaseOrderLineItemTable('#po-line-table', { | ||||||
|     {% 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({ |  | ||||||
|         order: {{ order.pk }}, |         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 %} |     $("#new-po-extra-line").click(function() { | ||||||
|     fields.price_currency.value = '{{ order.supplier.currency }}'; |  | ||||||
|     {% endif %} |  | ||||||
|  |  | ||||||
|     constructForm('{% url "api-po-extra-line-list" %}', { |         var fields = extraLineFields({ | ||||||
|         fields: fields, |             order: {{ order.pk }}, | ||||||
|         method: 'POST', |         }); | ||||||
|         title: '{% trans "Add Order Line" %}', |  | ||||||
|         onSuccess: function() { |         {% if order.supplier.currency %} | ||||||
|             $("#po-extra-lines-table").bootstrapTable("refresh"); |         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({ |     loadExtraLineTable({ | ||||||
|     table: '#po-extra-lines-table', |         table: '#po-extra-lines-table', | ||||||
|     order: {{ order.pk }}, |         order: {{ order.pk }}, | ||||||
|     url: '{% url "api-po-extra-line-list" %}', |         url: '{% url "api-po-extra-line-list" %}', | ||||||
|     name: 'purchaseorderextraline', |         name: 'purchaseorderextraline', | ||||||
|     filtertarget: '#filter-list-purchase-order-extra-lines', |         filtertarget: '#filter-list-purchase-order-extra-lines', | ||||||
|     {% settings_value "PURCHASEORDER_EDIT_COMPLETED_ORDERS" as allow_edit %} |         {% settings_value "PURCHASEORDER_EDIT_COMPLETED_ORDERS" as allow_edit %} | ||||||
|     {% if order.is_pending or allow_edit %} |         {% if order.is_pending or allow_edit %} | ||||||
|     allow_edit: {% js_bool roles.purchase_order.change %}, |         allow_edit: {% js_bool roles.purchase_order.change %}, | ||||||
|     allow_delete: {% js_bool roles.purchase_order.delete %}, |         allow_delete: {% js_bool roles.purchase_order.delete %}, | ||||||
|     {% else %} |         {% else %} | ||||||
|     allow_edit: false, |         allow_edit: false, | ||||||
|     allow_delete: false, |         allow_delete: false, | ||||||
|     {% endif %} |         {% endif %} | ||||||
|  |     }); | ||||||
| }); | }); | ||||||
|  |  | ||||||
| loadOrderTotal( | loadOrderTotal( | ||||||
|   | |||||||
| @@ -102,7 +102,18 @@ onPanelLoad('order-details', function() { | |||||||
|     }); |     }); | ||||||
|  |  | ||||||
|     $('#new-return-order-extra-line').click(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'); | ||||||
|  |             } | ||||||
|  |         }); | ||||||
|     }); |     }); | ||||||
| }); | }); | ||||||
|  |  | ||||||
|   | |||||||
| @@ -244,66 +244,70 @@ | |||||||
|         }, |         }, | ||||||
|     }); |     }); | ||||||
|  |  | ||||||
|     $("#new-so-line").click(function() { |     onPanelLoad('order-items', function() { | ||||||
|         createSalesOrderLineItem({ |  | ||||||
|             order: {{ order.pk }}, |         $("#new-so-line").click(function() { | ||||||
|             onSuccess: function() { |             createSalesOrderLineItem({ | ||||||
|                 $("#so-lines-table").bootstrapTable("refresh"); |                 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 |         loadExtraLineTable({ | ||||||
|         var fields = soLineItemFields({ |  | ||||||
|             order: {{ order.pk }}, |             order: {{ order.pk }}, | ||||||
|         }); |             table: '#so-extra-lines-table', | ||||||
|     }); |             url: '{% url "api-so-extra-line-list" %}', | ||||||
|  |             name: 'salesorderextraline', | ||||||
|     loadSalesOrderLineItemTable( |             filtertarget: '#filter-list-sales-order-extra-lines', | ||||||
|         '#so-lines-table', |             {% settings_value "SALESORDER_EDIT_COMPLETED_ORDERS" as allow_edit %} | ||||||
|         { |             {% if order.is_pending or allow_edit %} | ||||||
|             order: {{ order.pk }}, |             allow_edit: {% js_bool roles.sales_order.change %}, | ||||||
|             reference: '{{ order.reference }}', |             allow_delete: {% js_bool roles.sales_order.delete %}, | ||||||
|             status: {{ order.status }}, |             {% else %} | ||||||
|             {% if roles.sales_order.change %} |             allow_edit: false, | ||||||
|             allow_edit: true, |             allow_delete: false, | ||||||
|             {% endif %} |             {% 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( |     loadOrderTotal( | ||||||
|         '#soTotalPrice', |         '#soTotalPrice', | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user