2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-07-18 10:46:31 +00:00

Fix for stock item duplication bug (#9846) (#9850)

* Omit "serial" field

* Ignore 'serial' field on item creation

(cherry picked from commit 8e8b61033c)

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
This commit is contained in:
github-actions[bot]
2025-06-25 07:53:27 +10:00
committed by GitHub
parent bca375dae5
commit 735a1b71c5
2 changed files with 17 additions and 1 deletions

View File

@@ -1059,6 +1059,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

@@ -561,12 +561,24 @@ export default function StockDetail() {
const duplicateStockItemFields = useStockFields({ create: true }); const duplicateStockItemFields = useStockFields({ create: true });
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`,
fields: duplicateStockItemFields, fields: duplicateStockItemFields,
initialData: { initialData: {
...stockitem ...duplicateStockData
}, },
follow: true, follow: true,
modelType: ModelType.stockitem modelType: ModelType.stockitem