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:
@ -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: {
|
||||
|
@ -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 (
|
||||
|
Reference in New Issue
Block a user