2
0
mirror of https://github.com/inventree/InvenTree.git synced 2026-02-02 03:14:56 +00:00

split assign batch code and assign serial numbers in po receive (#11213)

This commit is contained in:
Jacob Felknor
2026-01-28 16:19:34 -07:00
committed by GitHub
parent ec10c1ef1b
commit 0d80d495cc

View File

@@ -361,7 +361,7 @@ function LineItemFormRow({
// Serial number generator
const serialNumberGenerator = useSerialNumberGenerator({
isEnabled: () => batchOpen && trackable
isEnabled: () => trackable
});
const [packagingOpen, packagingHandlers] = useDisclosure(false, {
@@ -379,7 +379,6 @@ function LineItemFormRow({
const [batchOpen, batchHandlers] = useDisclosure(false, {
onClose: () => {
props.changeFn(props.idx, 'batch_code', undefined);
props.changeFn(props.idx, 'serial_numbers', undefined);
},
onOpen: () => {
// Generate a new batch code
@@ -387,6 +386,14 @@ function LineItemFormRow({
part: record?.supplier_part_detail?.part,
order: record?.order
});
}
});
const [serialOpen, serialHandlers] = useDisclosure(false, {
onClose: () => {
props.changeFn(props.idx, 'serial_numbers', undefined);
},
onOpen: () => {
// Generate new serial numbers
if (trackable) {
serialNumberGenerator.update({
@@ -430,14 +437,6 @@ function LineItemFormRow({
props.changeFn(props.idx, 'barcode', barcode);
}, [barcode]);
const batchToolTip: string = useMemo(() => {
if (trackable) {
return t`Assign Batch Code and Serial Numbers`;
} else {
return t`Assign Batch Code`;
}
}, [trackable]);
// Update location field description on state change
useEffect(() => {
if (!opened) {
@@ -559,10 +558,21 @@ function LineItemFormRow({
size='sm'
onClick={() => batchHandlers.toggle()}
icon={<InvenTreeIcon icon='batch_code' />}
tooltip={batchToolTip}
tooltip={t`Assign Batch Code`}
tooltipAlignment='top'
variant={batchOpen ? 'outline' : 'transparent'}
/>
{trackable && (
<ActionButton
size='sm'
onClick={() => serialHandlers.toggle()}
icon={<InvenTreeIcon icon='serial' />}
tooltip={t`Assign Serial Numbers`}
tooltipAlignment='top'
variant={serialOpen ? 'outline' : 'transparent'}
/>
)}
{settings.isSet('STOCK_ENABLE_EXPIRY') && (
<ActionButton
size='sm'
@@ -712,7 +722,7 @@ function LineItemFormRow({
error={props.rowErrors?.batch_code?.message}
/>
<TableFieldExtraRow
visible={batchOpen && trackable}
visible={serialOpen}
onValueChange={(value) =>
props.changeFn(props.idx, 'serial_numbers', value)
}