diff --git a/odoo/addons/base/models/ir_ui_view.py b/odoo/addons/base/models/ir_ui_view.py index 0e76813cd5a..bbd5b6cd97e 100644 --- a/odoo/addons/base/models/ir_ui_view.py +++ b/odoo/addons/base/models/ir_ui_view.py @@ -1611,7 +1611,7 @@ actual arch. :rtype: boolean """ return any( - (attr in ('data-oe-model', 'group') or (attr.startswith('t-'))) + (attr in ('data-oe-model', 'groups') or (attr.startswith('t-'))) for attr in node.attrib ) diff --git a/odoo/addons/base/tests/test_views.py b/odoo/addons/base/tests/test_views.py index 27a465b713a..97a4ac768ce 100644 --- a/odoo/addons/base/tests/test_views.py +++ b/odoo/addons/base/tests/test_views.py @@ -903,6 +903,27 @@ class TestTemplating(ViewCase): ) ) + def test_branding_attribute_groups(self): + view = self.View.create({ + 'name': "Base View", + 'type': 'qweb', + 'arch': """ + + """, + }) + + arch_string = view.with_context(inherit_branding=True).read_combined(['arch'])['arch'] + arch = etree.fromstring(arch_string) + self.View.distribute_branding(arch) + + self.assertEqual(arch, E.root(E.item({ + 'groups': 'base.group_no_one', + 'data-oe-model': 'ir.ui.view', + 'data-oe-id': str(view.id), + 'data-oe-field': 'arch', + 'data-oe-xpath': '/root[1]/item[1]', + }))) + def test_call_no_branding(self): view = self.View.create({ 'name': "Base View",