diff --git a/addons/stock/models/stock_move_line.py b/addons/stock/models/stock_move_line.py index 633e1250fb5e94ad07f1b740164348729de41652..8f9ef2449009cb7a311749262836035f476cedeb 100644 --- a/addons/stock/models/stock_move_line.py +++ b/addons/stock/models/stock_move_line.py @@ -261,6 +261,16 @@ class StockMoveLine(models.Model): if key in vals: updates[key] = self.env[model].browse(vals[key]) + if 'result_package_id' in updates: + for ml in self.filtered(lambda ml: ml.package_level_id): + if updates.get('result_package_id'): + ml.package_level_id.package_id = updates.get('result_package_id') + else: + # TODO: make package levels less of a pain and fix this + package_level = ml.package_level_id + ml.package_level_id = False + package_level.unlink() + # When we try to write on a reserved move line any fields from `triggers` or directly # `product_uom_qty` (the actual reserved quantity), we need to make sure the associated # quants are correctly updated in order to not make them out of sync (i.e. the sum of the