Skip to content

Commit 7c3bc57

Browse files
committed
Override StockItem create to accept list of results
1 parent 9d44497 commit 7c3bc57

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

inventree/stock.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@
1111
import inventree.report
1212

1313

14+
logger = logging.getLogger('inventree')
15+
16+
1417
class StockLocation(
1518
inventree.base.BarcodeMixin,
1619
inventree.base.MetadataMixin,
@@ -58,6 +61,30 @@ class StockItem(
5861

5962
MODEL_TYPE = 'stockitem'
6063

64+
@classmethod
65+
def create(cls, api, data, **kwargs):
66+
""" Override default create method to support multiple object return. """
67+
68+
cls.checkApiVersion(api)
69+
70+
# Ensure the pk value is None so an existing object is not updated
71+
if cls.getPkField() in data.keys():
72+
data.pop(cls.getPkField())
73+
74+
response = api.post(cls.URL, data, **kwargs)
75+
76+
if response is None:
77+
logger.error("Error creating new object")
78+
return None
79+
80+
if isinstance(response, list):
81+
allResponses = []
82+
for element in response:
83+
allResponses.append(cls(api, data=element))
84+
85+
else:
86+
return cls(api, data=response)
87+
6188
@classmethod
6289
def adjustStockItems(cls, api: inventree.api.InvenTreeAPI, method: str, items: list, **kwargs):
6390
"""Perform a generic stock 'adjustment' action.

0 commit comments

Comments
 (0)