From f27e86bdde67048b2e73fbc808743093bda146d3 Mon Sep 17 00:00:00 2001 From: tgroutars Date: Tue, 17 Apr 2018 12:11:56 +0200 Subject: [PATCH] [FIX] base: no crash when setting wrong relation to m2m Before this rev., in the ir.model.fields form view, it crashed when the user specified an invalid model name as a relation for fields of type many2many (the onchange crashed). This rev. displays a warning instead. opw 1837401 --- openerp/addons/base/ir/ir_model.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/openerp/addons/base/ir/ir_model.py b/openerp/addons/base/ir/ir_model.py index cefe5004e2a..8b653701679 100644 --- a/openerp/addons/base/ir/ir_model.py +++ b/openerp/addons/base/ir/ir_model.py @@ -376,6 +376,13 @@ class ir_model_fields(osv.osv): def _onchange_ttype(self): self.copy = (self.ttype != 'one2many') if self.ttype == 'many2many' and self.model_id and self.relation: + if self.relation not in self.env: + return { + 'warning': { + 'title': _('Model %s does not exist' % self.relation), + 'message': _('Please specify a valid model for the object relation'), + } + } names = self._custom_many2many_names(self.model_id.model, self.relation) self.relation_table, self.column1, self.column2 = names else: