diff --git a/odoo/addons/base/models/res_users.py b/odoo/addons/base/models/res_users.py index e5f8b0b7495..b57aa8b7c48 100644 --- a/odoo/addons/base/models/res_users.py +++ b/odoo/addons/base/models/res_users.py @@ -1440,6 +1440,8 @@ class GroupsView(models.Model): dest_group.append(E.field(name=field_name, invisible="1", **attrs)) else: dest_group.append(E.field(name=field_name, **attrs)) + # add duplicate invisible field so default values are saved on create + xml0.append(E.field(name=field_name, **dict(attrs, invisible="1", groups='!base.group_no_one'))) group_count += 1 xml4.append(E.group(*left_group)) xml4.append(E.group(*right_group)) diff --git a/odoo/addons/base/tests/test_res_users.py b/odoo/addons/base/tests/test_res_users.py index 3640e9a2575..4fe95d528c4 100644 --- a/odoo/addons/base/tests/test_res_users.py +++ b/odoo/addons/base/tests/test_res_users.py @@ -238,6 +238,10 @@ class TestUsers2(TransactionCase): self.assertIn(self.env.ref('base.group_user'), user.groups_id) + # all template user groups are copied + default_user = self.env.ref('base.default_user') + self.assertEqual(default_user.groups_id, user.groups_id) + def test_selection_groups(self): # create 3 groups that should be in a selection app = self.env['ir.module.category'].create({'name': 'Foo'})