From bbee0b3081996a363627ce2da89658f0e8b70091 Mon Sep 17 00:00:00 2001 From: Adrian Torres Date: Wed, 15 Sep 2021 11:17:09 +0000 Subject: [PATCH] [FIX] base: allow setting group_expand for ir.model.fields PR #75856 introduced a default implementation of group_expand for Selection fields that set the value of group_expand to True. However the PR lacked the necessary bits that allow the same behavior for fields created on the fly instead of through code. This commit allows the propagation of the group_expand attribute for fields of type Selection, this commit also exposes the checkbox in the UI to enable/disable the setting. closes odoo/odoo#76775 X-original-commit: 1cacc3e53cf722a31bedff7a76f8e5cc6ed45ce0 Signed-off-by: Raphael Collet (rco) --- odoo/addons/base/models/ir_model.py | 2 ++ odoo/addons/base/views/ir_model_views.xml | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/odoo/addons/base/models/ir_model.py b/odoo/addons/base/models/ir_model.py index 4d5f662c950..aa389dad663 100644 --- a/odoo/addons/base/models/ir_model.py +++ b/odoo/addons/base/models/ir_model.py @@ -1114,6 +1114,8 @@ class IrModelFields(models.Model): attrs['size'] = field_data['size'] or None elif field_data['ttype'] in ('selection', 'reference'): attrs['selection'] = self.env['ir.model.fields.selection']._get_selection_data(field_data['id']) + if field_data['ttype'] == 'selection': + attrs['group_expand'] = field_data['group_expand'] elif field_data['ttype'] == 'many2one': if not self.pool.loaded and field_data['relation'] not in self.env: return diff --git a/odoo/addons/base/views/ir_model_views.xml b/odoo/addons/base/views/ir_model_views.xml index 81784beb0c7..2d2295c69fb 100644 --- a/odoo/addons/base/views/ir_model_views.xml +++ b/odoo/addons/base/views/ir_model_views.xml @@ -282,8 +282,8 @@ 'readonly': [('ttype','not in',['many2one','one2many','many2many'])], 'invisible': [('ttype','not in',['many2one','one2many','many2many'])]}"/> + attrs="{'readonly': [('ttype','not in', ['many2one', 'selection'])], + 'invisible': [('ttype','not in', ['many2one', 'selection'])]}"/>