diff --git a/odoo/addons/base/models/ir_ui_view.py b/odoo/addons/base/models/ir_ui_view.py index ec77d7227b9..ebb925501da 100644 --- a/odoo/addons/base/models/ir_ui_view.py +++ b/odoo/addons/base/models/ir_ui_view.py @@ -277,6 +277,7 @@ actual arch. * if True, the view always extends its parent * if False, the view currently does not extend its parent but can be enabled """) + model_id = fields.Many2one("ir.model", string="Model of the view", compute='_compute_model_id', inverse='_inverse_compute_model_id') @api.depends('arch_db', 'arch_fs', 'arch_updated') @api.depends_context('read_arch_from_file', 'lang') @@ -370,6 +371,15 @@ actual arch. data = self.env['ir.model.data'].sudo().search(domain) return [('id', 'in', data.mapped('res_id'))] + @api.depends('model') + def _compute_model_id(self): + for record in self: + record.model_id = self.env['ir.model']._get(record.model) + + def _inverse_compute_model_id(self): + for record in self: + record.model = record.model_id.model + def _compute_xml_id(self): xml_ids = collections.defaultdict(list) domain = [('model', '=', 'ir.ui.view'), ('res_id', 'in', self.ids)] diff --git a/odoo/addons/base/views/ir_ui_view_views.xml b/odoo/addons/base/views/ir_ui_view_views.xml index c989e819c07..544344025b1 100644 --- a/odoo/addons/base/views/ir_ui_view_views.xml +++ b/odoo/addons/base/views/ir_ui_view_views.xml @@ -10,7 +10,8 @@ - + +