diff --git a/addons/mrp/i18n/mrp.pot b/addons/mrp/i18n/mrp.pot index 71f076ca01e..8cfa63f9fa6 100644 --- a/addons/mrp/i18n/mrp.pot +++ b/addons/mrp/i18n/mrp.pot @@ -4711,6 +4711,12 @@ msgid "" "numbers encoded." msgstr "" +#. module: mrp +#: code:addons/mrp/models/mrp_bom.py:0 +#, python-format +msgid "You cannot create a new Bill of Material from here." +msgstr "" + #. module: mrp #: code:addons/mrp/models/mrp_unbuild.py:0 #, python-format diff --git a/addons/mrp/models/mrp_bom.py b/addons/mrp/models/mrp_bom.py index 2b3b7a40b04..5988f2c0ba5 100644 --- a/addons/mrp/models/mrp_bom.py +++ b/addons/mrp/models/mrp_bom.py @@ -121,6 +121,13 @@ class MrpBom(models.Model): for line in self.bom_line_ids: line.operation_id = False + @api.model + def name_create(self, name): + # prevent to use string as product_tmpl_id + if isinstance(name, str): + raise UserError(_("You cannot create a new Bill of Material from here.")) + return super(MrpBom, self).name_create(name) + def name_get(self): return [(bom.id, '%s%s' % (bom.code and '%s: ' % bom.code or '', bom.product_tmpl_id.display_name)) for bom in self]