mirror of
https://github.com/inventree/InvenTree.git
synced 2025-06-17 04:25:42 +00:00
Build order cancel (#7153)
* Fix BuildCancelSerializer * Change name of serializer field * Perform bulk_delete operation * Implement BuildCancel in PUI * Handle null build * Bump API version * Improve query efficiency for build endpoints * Offload allocation cleanup in cancel task * Handle exception if offloading fails * Offload auto-allocation of build order stock * Add unit test for cancelling build order *and* consuming stock
This commit is contained in:
@ -52,8 +52,10 @@ export enum ApiEndpoints {
|
||||
|
||||
// Build API endpoints
|
||||
build_order_list = 'build/',
|
||||
build_order_cancel = 'build/:id/cancel/',
|
||||
build_order_attachment_list = 'build/attachment/',
|
||||
build_line_list = 'build/line/',
|
||||
|
||||
bom_list = 'bom/',
|
||||
|
||||
// Part API endpoints
|
||||
|
@ -301,6 +301,18 @@ export default function BuildDetail() {
|
||||
}
|
||||
});
|
||||
|
||||
const cancelBuild = useCreateApiFormModal({
|
||||
url: apiUrl(ApiEndpoints.build_order_cancel, build.pk),
|
||||
title: t`Cancel Build Order`,
|
||||
fields: {
|
||||
remove_allocated_stock: {},
|
||||
remove_incomplete_outputs: {}
|
||||
},
|
||||
onFormSuccess: () => {
|
||||
refreshInstance();
|
||||
}
|
||||
});
|
||||
|
||||
const duplicateBuild = useCreateApiFormModal({
|
||||
url: ApiEndpoints.build_order_list,
|
||||
title: t`Add Build Order`,
|
||||
@ -352,7 +364,9 @@ export default function BuildDetail() {
|
||||
hidden: !user.hasChangeRole(UserRoles.build)
|
||||
}),
|
||||
CancelItemAction({
|
||||
tooltip: t`Cancel order`
|
||||
tooltip: t`Cancel order`,
|
||||
onClick: () => cancelBuild.open()
|
||||
// TODO: Hide if build cannot be cancelled
|
||||
}),
|
||||
DuplicateItemAction({
|
||||
onClick: () => duplicateBuild.open(),
|
||||
@ -379,6 +393,7 @@ export default function BuildDetail() {
|
||||
<>
|
||||
{editBuild.modal}
|
||||
{duplicateBuild.modal}
|
||||
{cancelBuild.modal}
|
||||
<Stack spacing="xs">
|
||||
<LoadingOverlay visible={instanceQuery.isFetching} />
|
||||
<PageDetail
|
||||
|
Reference in New Issue
Block a user