diff --git a/addons/mrp/i18n/mrp.pot b/addons/mrp/i18n/mrp.pot index 88a8c7c457b..6275c8460c0 100644 --- a/addons/mrp/i18n/mrp.pot +++ b/addons/mrp/i18n/mrp.pot @@ -4712,6 +4712,12 @@ msgstr "" msgid "Routing" msgstr "" +#. module: mrp +#: code:addons/mrp/models/stock_quant.py:0 +#, python-format +msgid "Return to Inventory" +msgstr "" + #. module: mrp #: model:ir.model.fields,field_description:mrp.field_mrp_workcenter__routing_line_ids msgid "Routing Lines" @@ -6758,6 +6764,13 @@ msgstr "" msgid "You should provide a lot number for the final product." msgstr "" +#. module: mrp +#. odoo-python +#: code:addons/mrp/models/stock_quant.py:0 +#, python-format +msgid "You should update the components quantity instead of directly updating the quantity of the kit product." +msgstr "" + #. module: mrp #: model:ir.model.fields.selection,name:mrp.selection__stock_picking_type__done_mrp_lot_label_to_print__zpl #: model:ir.model.fields.selection,name:mrp.selection__stock_picking_type__generated_mrp_lot_label_to_print__zpl diff --git a/addons/mrp/models/__init__.py b/addons/mrp/models/__init__.py index 8fb29e7b1c6..761209f4f55 100644 --- a/addons/mrp/models/__init__.py +++ b/addons/mrp/models/__init__.py @@ -19,3 +19,4 @@ from . import stock_lot from . import stock_rule from . import stock_scrap from . import stock_warehouse +from . import stock_quant diff --git a/addons/mrp/models/stock_quant.py b/addons/mrp/models/stock_quant.py new file mode 100644 index 00000000000..5f71f002db2 --- /dev/null +++ b/addons/mrp/models/stock_quant.py @@ -0,0 +1,17 @@ +from odoo import models, _ +from odoo.exceptions import RedirectWarning + + +class StockQuant(models.Model): + _inherit = 'stock.quant' + + def action_apply_inventory(self): + bom_kits = self.env['mrp.bom']._bom_find(self.product_id, bom_type='phantom') + for record in self: + if record.product_id in bom_kits: + raise RedirectWarning( + _('You should update the components quantity instead of directly updating the quantity of the kit product.'), + self.env.ref('stock.action_view_inventory_tree').id, + _("Return to Inventory"), + ) + return super().action_apply_inventory()