From c2b37970e371ed92f48627e2aadc5e8ec3a90836 Mon Sep 17 00:00:00 2001 From: Daniel Reis Date: Wed, 20 Jan 2021 08:16:14 +0000 Subject: [PATCH] [FIX] mrp_analytic_cost_material: also support consuming from Stock Move Line --- .../models/stock_move.py | 29 ++++++++++++++++--- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/mrp_analytic_cost_material/models/stock_move.py b/mrp_analytic_cost_material/models/stock_move.py index 88d51cc50..d984bc73f 100644 --- a/mrp_analytic_cost_material/models/stock_move.py +++ b/mrp_analytic_cost_material/models/stock_move.py @@ -1,7 +1,7 @@ # Copyright (C) 2021 Open Source Integrators # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -from odoo import models +from odoo import api, models class StockMove(models.Model): @@ -41,7 +41,28 @@ class StockMove(models.Model): analytic_line = AnalyticLine.create(line_vals) analytic_line.on_change_unit_amount() - def _quantity_done_set(self): + def write(self, vals): """ When material is consumed, generate Analytic Items """ - super()._quantity_done_set() - self.generate_mrp_raw_analytic_line() + res = super().write(vals) + if vals.get("qty_done"): + self.generate_mrp_raw_analytic_line() + return res + + +class StockMoveLine(models.Model): + _inherit = "stock.move.line" + + def write(self, vals): + qty_done = vals.get("qty_done") + res = super().write(vals) + if qty_done: + self.mapped("move_id").generate_mrp_raw_analytic_line() + return res + + @api.model + def create(self, vals): + qty_done = vals.get("qty_done") + res = super().create(vals) + if qty_done: + res.mapped("move_id").generate_mrp_raw_analytic_line() + return res