From e5b9f5e63e1443f8049db8c7eb30c8563d850a38 Mon Sep 17 00:00:00 2001 From: Nicolas Martinelli Date: Mon, 24 Feb 2020 10:07:23 +0000 Subject: [PATCH] [FIX] mrp_subcontracting: multi-step receipt - Activate the multi-step reception - Create a Subcontracting BOM for product P and supplier S. - Create a PO for S with P - Validate the PO - Validate the input transfer - Validate the internal transfer A error is raised because a mandatory field is not set. The root cause comes from the INT move being flagged as a subcontract move, while it shouldn't be. Indeed, only the input move should be flagged as subcontract. We force the `is_subcontract` value to `False` when a move is copied in the context of a stock rule. opw-2193009 opw-2202727 closes odoo/odoo#46115 X-original-commit: 8795e0f3d4301710a089d263395633759eae76b7 Signed-off-by: Nicolas Martinelli (nim) --- addons/mrp_subcontracting/models/__init__.py | 1 + addons/mrp_subcontracting/models/stock_rule.py | 13 +++++++++++++ 2 files changed, 14 insertions(+) create mode 100644 addons/mrp_subcontracting/models/stock_rule.py diff --git a/addons/mrp_subcontracting/models/__init__.py b/addons/mrp_subcontracting/models/__init__.py index 8dddd8d9090..41a12adb994 100644 --- a/addons/mrp_subcontracting/models/__init__.py +++ b/addons/mrp_subcontracting/models/__init__.py @@ -7,5 +7,6 @@ from . import res_partner from . import stock_move from . import stock_move_line from . import stock_picking +from . import stock_rule from . import stock_warehouse diff --git a/addons/mrp_subcontracting/models/stock_rule.py b/addons/mrp_subcontracting/models/stock_rule.py new file mode 100644 index 00000000000..45154e0b722 --- /dev/null +++ b/addons/mrp_subcontracting/models/stock_rule.py @@ -0,0 +1,13 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import models + + +class StockRule(models.Model): + _inherit = "stock.rule" + + def _push_prepare_move_copy_values(self, move_to_copy, new_date): + new_move_vals = super(StockRule, self)._push_prepare_move_copy_values(move_to_copy, new_date) + new_move_vals["is_subcontract"] = False + return new_move_vals