diff options
| author | Ivan Yelizariev <iel@odoo.com> | 2021-05-04 10:11:57 +0000 |
|---|---|---|
| committer | Ivan Yelizariev <iel@odoo.com> | 2021-05-04 13:39:22 +0000 |
| commit | 7ae1b4622c6743e28deca12476d6e70375c9417e (patch) | |
| tree | dd396aeaa1bd8b37cd188f37306641d4c6ac276f /addons/test_mail | |
| parent | 070c2853956c97bd64aac6abe0e208ef11ef8d3d (diff) | |
[FIX] mail: allow duplicate records with alias for non-admin
ALIAS_WRITEABLE_FIELDS is used to write alias fields with sudo
Steps to reproduce:
1. Create a user
1.1. Give rights Services -> Project-> Administartor
1.2. Not given rights Administration-> administartor
2. Project app -> open any project -> Action -> duplicate -> it give validation error.
---
opw-2506566
closes odoo/odoo#70315
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
Diffstat (limited to 'addons/test_mail')
| -rw-r--r-- | addons/test_mail/tests/test_mail_gateway.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/addons/test_mail/tests/test_mail_gateway.py b/addons/test_mail/tests/test_mail_gateway.py index 034861256b8..36e31e44ebc 100644 --- a/addons/test_mail/tests/test_mail_gateway.py +++ b/addons/test_mail/tests/test_mail_gateway.py @@ -170,6 +170,23 @@ class TestMailAlias(TestMailCommon): with self.assertRaises(exceptions.UserError), self.cr.savepoint(): self.env['ir.config_parameter'].sudo().set_param('mail.bounce.alias', new_mail_alias.alias_name) + def test_alias_mixin_copy(self): + user_demo = self.env.ref('base.user_demo') + self.assertFalse(user_demo.has_group('base.group_system'), 'Demo user is not supposed to have Administrator access') + self._test_alias_mixin_copy(user_demo, 'alias.test1', False) + self._test_alias_mixin_copy(user_demo, 'alias.test2', '<p>What Is Dead May Never Die</p>') + + def _test_alias_mixin_copy(self, user, alias_name, alias_bounced_content): + record = self.env['mail.test.container'].with_user(user).with_context(lang='en_US').create({ + 'name': 'Test Record', + 'alias_name': alias_name, + 'alias_contact': 'followers', + 'alias_bounced_content': alias_bounced_content, + }) + self.assertEqual(record.alias_bounced_content, alias_bounced_content) + record_copy = record.copy() + self.assertEqual(record_copy.alias_bounced_content, alias_bounced_content) + @tagged('mail_gateway') class TestMailgateway(TestMailCommon): |
