2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-06-17 12:35:46 +00:00

Return Order - Improvements (#8590)

* Increase query limit

* Add "quantity" field to ReturnOrderLineItem model

* Add 'quantity' to serializer

* Optionally split stock when returning from customer

* Update the line item when splitting

* PUI updates

* Bump API version

* Add unit test
This commit is contained in:
Oliver
2024-11-29 17:06:35 +11:00
committed by GitHub
parent dd9a6a8a2d
commit 20d862e350
7 changed files with 156 additions and 13 deletions

View File

@ -106,10 +106,10 @@ export function useReturnOrderLineItemFields({
item: {
filters: {
customer: customerId,
part_detail: true,
serialized: true
part_detail: true
}
},
quantity: {},
reference: {},
outcome: {
hidden: create == true
@ -147,6 +147,14 @@ function ReturnOrderLineItemFormRow({
);
}, []);
const quantityDisplay = useMemo(() => {
if (record.item_detail?.serial && record.quantity == 1) {
return `# ${record.item_detail.serial}`;
} else {
return record.quantity;
}
}, [record.quantity, record.item_detail]);
return (
<>
<Table.Tr>
@ -160,7 +168,7 @@ function ReturnOrderLineItemFormRow({
<div>{record.part_detail.name}</div>
</Flex>
</Table.Td>
<Table.Td># {record.item_detail.serial}</Table.Td>
<Table.Td>{quantityDisplay}</Table.Td>
<Table.Td>
<StandaloneField
fieldDefinition={{
@ -209,7 +217,7 @@ export function useReceiveReturnOrderLineItems(
/>
);
},
headers: [t`Part`, t`Stock Item`, t`Status`]
headers: [t`Part`, t`Quantity`, t`Status`]
},
location: {
filters: {

View File

@ -111,13 +111,21 @@ export default function ReturnOrderLineItemTable({
},
{
accessor: 'item_detail.serial',
title: t`Serial Number`,
switchable: false
title: t`Quantity`,
switchable: false,
render: (record: any) => {
if (record.item_detail.serial && record.quantity == 1) {
return `# ${record.item_detail.serial}`;
} else {
return record.quantity;
}
}
},
StatusColumn({
model: ModelType.stockitem,
sortable: false,
accessor: 'item_detail.status'
accessor: 'item_detail.status',
title: t`Status`
}),
ReferenceColumn({}),
StatusColumn({
@ -201,7 +209,10 @@ export default function ReturnOrderLineItemTable({
return [
{
hidden: received || !user.hasChangeRole(UserRoles.return_order),
hidden:
received ||
!inProgress ||
!user.hasChangeRole(UserRoles.return_order),
title: t`Receive Item`,
icon: <IconSquareArrowRight />,
onClick: () => {
@ -225,7 +236,7 @@ export default function ReturnOrderLineItemTable({
})
];
},
[user]
[user, inProgress]
);
return (