2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-07-01 11:10:54 +00:00

Fix for stock item duplication bug (#9846)

* Omit "serial" field

* Ignore 'serial' field on item creation
This commit is contained in:
Oliver
2025-06-25 06:54:12 +10:00
committed by GitHub
parent f1482aaa28
commit 8e8b61033c
2 changed files with 17 additions and 1 deletions

View File

@ -1097,6 +1097,10 @@ class StockList(DataExportViewMixin, StockApiMixin, ListCreateDestroyAPIView):
serializer = self.get_serializer(data=data) serializer = self.get_serializer(data=data)
serializer.is_valid(raise_exception=True) serializer.is_valid(raise_exception=True)
# Exclude 'serial' from submitted data
# We use 'serial_numbers' for item creation
serializer.validated_data.pop('serial', None)
# Extract location information # Extract location information
location = serializer.validated_data.get('location', None) location = serializer.validated_data.get('location', None)

View File

@ -661,13 +661,25 @@ export default function StockDetail() {
modalId: 'duplicate-stock-item' modalId: 'duplicate-stock-item'
}); });
const duplicateStockData = useMemo(() => {
const duplicate = {
...stockitem,
serial_numbers: stockitem.serial
};
// Omit the "serial" field for item creation
delete duplicate.serial;
return duplicate;
}, [stockitem]);
const duplicateStockItem = useCreateApiFormModal({ const duplicateStockItem = useCreateApiFormModal({
url: ApiEndpoints.stock_item_list, url: ApiEndpoints.stock_item_list,
title: t`Add Stock Item`, title: t`Add Stock Item`,
modalId: 'duplicate-stock-item', modalId: 'duplicate-stock-item',
fields: duplicateStockItemFields, fields: duplicateStockItemFields,
initialData: { initialData: {
...stockitem ...duplicateStockData
}, },
follow: true, follow: true,
modelType: ModelType.stockitem modelType: ModelType.stockitem