mirror of
https://github.com/inventree/InvenTree
synced 2024-08-30 18:33:04 +00:00
* Catch edge case for merge_stock_items:
- Use current location as backup
- Handle null location
* Fix deltas
(cherry picked from commit 9fa2735f7a
)
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
This commit is contained in:
parent
1f6e52138a
commit
dfdaddbc7e
@ -1678,6 +1678,9 @@ class StockItem(
|
||||
- Tracking history for the *other* item is deleted
|
||||
- Any allocations (build order, sales order) are moved to this StockItem
|
||||
"""
|
||||
if isinstance(other_items, StockItem):
|
||||
other_items = [other_items]
|
||||
|
||||
if len(other_items) == 0:
|
||||
return
|
||||
|
||||
@ -1685,7 +1688,7 @@ class StockItem(
|
||||
tree_ids = {self.tree_id}
|
||||
|
||||
user = kwargs.get('user', None)
|
||||
location = kwargs.get('location', None)
|
||||
location = kwargs.get('location', self.location)
|
||||
notes = kwargs.get('notes', None)
|
||||
|
||||
parent_id = self.parent.pk if self.parent else None
|
||||
@ -1693,6 +1696,9 @@ class StockItem(
|
||||
for other in other_items:
|
||||
# If the stock item cannot be merged, return
|
||||
if not self.can_merge(other, raise_error=raise_error, **kwargs):
|
||||
logger.warning(
|
||||
'Stock item <%s> could not be merge into <%s>', other.pk, self.pk
|
||||
)
|
||||
return
|
||||
|
||||
tree_ids.add(other.tree_id)
|
||||
@ -1722,7 +1728,7 @@ class StockItem(
|
||||
user,
|
||||
quantity=self.quantity,
|
||||
notes=notes,
|
||||
deltas={'location': location.pk},
|
||||
deltas={'location': location.pk if location else None},
|
||||
)
|
||||
|
||||
self.location = location
|
||||
|
Loading…
Reference in New Issue
Block a user