diff --git a/addons/mrp/models/stock_quant.py b/addons/mrp/models/stock_quant.py index e94b786f568..6074735a737 100644 --- a/addons/mrp/models/stock_quant.py +++ b/addons/mrp/models/stock_quant.py @@ -11,3 +11,9 @@ class StockQuant(models.Model): 'stock.quant', 'stock_quant_consume_rel', 'produce_quant_id', 'consume_quant_id') produced_quant_ids = fields.Many2many( 'stock.quant', 'stock_quant_consume_rel', 'consume_quant_id', 'produce_quant_id') + + def _prepare_history(self): + vals = super(StockQuant, self)._prepare_history() + vals['consumed_quant_ids'] = [(4, quant.id) for quant in self.consumed_quant_ids] + vals['produced_quant_ids'] = [(4, quant.id) for quant in self.produced_quant_ids] + return vals diff --git a/addons/stock/models/stock_quant.py b/addons/stock/models/stock_quant.py index de4cf2b5fa6..1c11ad0c99f 100644 --- a/addons/stock/models/stock_quant.py +++ b/addons/stock/models/stock_quant.py @@ -334,12 +334,15 @@ class Quant(models.Model): # price update + accounting entries adjustments solved_quants._price_update(solving_quant.cost) # merge history (and cost?) - solved_quants.write({ - 'history_ids': [(4, history_move.id) for history_move in solving_quant.history_ids] - }) + solved_quants.write(solving_quant._prepare_history()) solving_quant.with_context(force_unlink=True).unlink() solving_quant = remaining_solving_quant + def _prepare_history(self): + return { + 'history_ids': [(4, history_move.id) for history_move in self.history_ids], + } + @api.multi def _price_update(self, newprice): # TDE note: use ACLs instead of sudoing everything