Skip to content

Commit 01ad8be

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

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

inventree/stock.py

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

1313

14+
logger = logging.getLogger('inventree')
15+
1416
class StockLocation(
1517
inventree.base.BarcodeMixin,
1618
inventree.base.MetadataMixin,
@@ -58,6 +60,30 @@ class StockItem(
5860

5961
MODEL_TYPE = 'stockitem'
6062

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

0 commit comments

Comments
 (0)