2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-06-30 18:50:53 +00:00

Add ability to quickly duplicate build orders (#3565)

* Adds ability to easily duplicate an existing build order

* Refactor purchase order editing code
This commit is contained in:
Oliver
2022-08-18 12:44:47 +10:00
committed by GitHub
parent 32b11ec5af
commit b70a0164ae
4 changed files with 117 additions and 53 deletions

View File

@ -23,6 +23,7 @@
cancelBuildOrder,
completeBuildOrder,
createBuildOutput,
duplicateBuildOrder,
editBuildOrder,
loadAllocationTable,
loadBuildOrderAllocationTable,
@ -75,7 +76,9 @@ function buildFormFields() {
};
}
/*
* Edit an existing BuildOrder via the API
*/
function editBuildOrder(pk) {
var fields = buildFormFields();
@ -87,6 +90,10 @@ function editBuildOrder(pk) {
});
}
/*
* Create a new build order via an API form
*/
function newBuildOrder(options={}) {
/* Launch modal form to create a new BuildOrder.
*/
@ -113,8 +120,13 @@ function newBuildOrder(options={}) {
fields.sales_order.value = options.sales_order;
}
if (options.data) {
delete options.data.pk;
}
constructForm(`/api/build/`, {
fields: fields,
data: options.data,
follow: true,
method: 'POST',
title: '{% trans "Create Build Order" %}',
@ -123,6 +135,26 @@ function newBuildOrder(options={}) {
}
/*
* Duplicate an existing build order.
*/
function duplicateBuildOrder(build_id, options={}) {
inventreeGet(`/api/build/${build_id}/`, {}, {
success: function(data) {
// Clear out data we do not want to be duplicated
delete data['pk'];
delete data['issued_by'];
delete data['reference'];
options.data = data;
newBuildOrder(options);
}
});
}
/* Construct a form to cancel a build order */
function cancelBuildOrder(build_id, options={}) {