summaryrefslogtreecommitdiff
path: root/addons/test_mail
diff options
context:
space:
mode:
authorIvan Yelizariev <iel@odoo.com>2021-05-04 10:11:57 +0000
committerIvan Yelizariev <iel@odoo.com>2021-05-04 13:39:22 +0000
commit7ae1b4622c6743e28deca12476d6e70375c9417e (patch)
treedd396aeaa1bd8b37cd188f37306641d4c6ac276f /addons/test_mail
parent070c2853956c97bd64aac6abe0e208ef11ef8d3d (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.py17
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):