mirror of
https://github.com/inventree/InvenTree
synced 2024-08-30 18:33:04 +00:00
Add functionality to create a new sales order shipment
- From the "New Shipment" button - As a secondary modal from the stock allocation dialgo
This commit is contained in:
parent
4d0f905afc
commit
2eb93b5a49
@ -913,7 +913,6 @@ class SalesOrderShipment(models.Model):
|
|||||||
|
|
||||||
Attributes:
|
Attributes:
|
||||||
order: SalesOrder reference
|
order: SalesOrder reference
|
||||||
status: Status of this shipment (see SalesOrderStatus)
|
|
||||||
shipment_date: Date this shipment was "shipped" (or null)
|
shipment_date: Date this shipment was "shipped" (or null)
|
||||||
checked_by: User reference field indicating who checked this order
|
checked_by: User reference field indicating who checked this order
|
||||||
reference: Custom reference text for this shipment (e.g. consignment number?)
|
reference: Custom reference text for this shipment (e.g. consignment number?)
|
||||||
|
@ -113,6 +113,16 @@
|
|||||||
order: {{ order.pk }},
|
order: {{ order.pk }},
|
||||||
shipped: false,
|
shipped: false,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$('#new-shipment').click(function() {
|
||||||
|
createSalesOrderShipment({
|
||||||
|
order: {{ order.pk }},
|
||||||
|
onSuccess: function(data) {
|
||||||
|
$('#pending-shipments-table').bootstrapTable('refresh');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
loadSalesOrderShipmentTable('#completed-shipments-table', {
|
loadSalesOrderShipmentTable('#completed-shipments-table', {
|
||||||
|
@ -35,6 +35,38 @@
|
|||||||
removePurchaseOrderLineItem,
|
removePurchaseOrderLineItem,
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
function salesOrderShipmentFields(options={}) {
|
||||||
|
var fields = {
|
||||||
|
order: {},
|
||||||
|
reference: {},
|
||||||
|
};
|
||||||
|
|
||||||
|
// If order is specified, hide the order field
|
||||||
|
if (options.order) {
|
||||||
|
fields.order.value = options.order;
|
||||||
|
fields.order.hidden = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return fields;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Open a dialog to create a new sales order shipment
|
||||||
|
function createSalesOrderShipment(options={}) {
|
||||||
|
constructForm('{% url "api-so-shipment-list" %}', {
|
||||||
|
method: 'POST',
|
||||||
|
fields: salesOrderShipmentFields(options),
|
||||||
|
title: '{% trans "Create New Shipment" %}',
|
||||||
|
onSuccess: function(data) {
|
||||||
|
if (options.onSuccess) {
|
||||||
|
options.onSuccess(data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Create a new SalesOrder
|
// Create a new SalesOrder
|
||||||
function createSalesOrder(options={}) {
|
function createSalesOrder(options={}) {
|
||||||
|
|
||||||
@ -1351,6 +1383,14 @@ function allocateStockToSalesOrder(order_id, line_items, options={}) {
|
|||||||
},
|
},
|
||||||
value: options.shipment || null,
|
value: options.shipment || null,
|
||||||
auto_fill: true,
|
auto_fill: true,
|
||||||
|
secondary: {
|
||||||
|
title: '{% trans "New Shipment" %}',
|
||||||
|
fields: function() {
|
||||||
|
return salesOrderShipmentFields({
|
||||||
|
order: order_id
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
preFormContent: html,
|
preFormContent: html,
|
||||||
|
Loading…
Reference in New Issue
Block a user