[REF] mail, various: remove now dead configuration parameters
PURPOSE Allow alias domains to be multiple, notably to be used in a multi company environment where each company has its own alias domain. SPECIFICATIONS Now that alias domains are used in Odoo codebase there is no usage anymore for the old config parameters. So long and thanks for all the fish ! Task-36879 (Mail: Support Multi Domains Aliases) Part-of: odoo/odoo#76734
This commit is contained in:
@@ -99,7 +99,6 @@ For more specific needs, you may also assign custom-defined actions
|
||||
'data/mail_activity_data.xml',
|
||||
'data/security_notifications_templates.xml',
|
||||
'data/ir_cron_data.xml',
|
||||
'data/ir_config_parameter.xml',
|
||||
'security/mail_security.xml',
|
||||
'security/ir.model.access.csv',
|
||||
'views/discuss_public_templates.xml',
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<odoo noupdate="1">
|
||||
|
||||
<record id="gc_delete_overdue_activities_year_threshold" model="ir.config_parameter">
|
||||
<field name="key">mail.activity.gc.delete_overdue_years</field>
|
||||
<field name="value">3</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
@@ -1,23 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data noupdate="1">
|
||||
<!-- Catchall Email Alias -->
|
||||
<record id="icp_mail_catchall_alias" model="ir.config_parameter">
|
||||
<field name="key">mail.catchall.alias</field>
|
||||
<field name="value">catchall</field>
|
||||
<record id="gc_delete_overdue_activities_year_threshold" model="ir.config_parameter">
|
||||
<field name="key">mail.activity.gc.delete_overdue_years</field>
|
||||
<field name="value">3</field>
|
||||
</record>
|
||||
|
||||
<!-- Bounce Email Alias -->
|
||||
<record id="icp_mail_bounce_alias" model="ir.config_parameter">
|
||||
<field name="key">mail.bounce.alias</field>
|
||||
<field name="value">bounce</field>
|
||||
</record>
|
||||
|
||||
<!-- Notifications -->
|
||||
<record id="icp_mail_default_from" model="ir.config_parameter">
|
||||
<field name="key">mail.default.from</field>
|
||||
<field name="value">notifications</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
|
||||
@@ -20,9 +20,6 @@ class IrConfigParameter(models.Model):
|
||||
# remove existing users, including inactive template user
|
||||
# admin will regain the right via implied_ids on group_system
|
||||
group_user._remove_group(group_mail_template_editor)
|
||||
# sanitize, normalize; note that False = unlink ICP
|
||||
elif key in {'mail.bounce.alias', 'mail.catchall.alias'} and value:
|
||||
value = self.env['mail.alias']._sanitize_alias_name(value)
|
||||
# sanitize and normalize allowed catchall domains
|
||||
elif key == 'mail.catchall.domain.allowed' and value:
|
||||
value = self.env['mail.alias']._sanitize_allowed_domains(value)
|
||||
|
||||
@@ -101,10 +101,6 @@ class MockEmail(common.BaseCase, MockSmtplibCase):
|
||||
cls.alias_bounce = 'bounce.test'
|
||||
cls.default_from = 'notifications.test'
|
||||
cls.default_from_filter = False
|
||||
cls.env['ir.config_parameter'].set_param('mail.bounce.alias', cls.alias_bounce)
|
||||
cls.env['ir.config_parameter'].set_param('mail.catchall.domain', cls.alias_domain)
|
||||
cls.env['ir.config_parameter'].set_param('mail.catchall.alias', cls.alias_catchall)
|
||||
cls.env['ir.config_parameter'].set_param('mail.default.from', cls.default_from)
|
||||
cls.env['ir.config_parameter'].set_param('mail.default.from_filter', cls.default_from_filter)
|
||||
|
||||
# ensure global alias domain for tests: to ease tests, search or create
|
||||
|
||||
@@ -46,49 +46,6 @@ class TestMailAlias(TestMailAliasCommon):
|
||||
self.env['ir.config_parameter'].set_param('mail.catchall.domain.allowed', value)
|
||||
self.assertEqual(self.env['ir.config_parameter'].get_param('mail.catchall.domain.allowed'), expected)
|
||||
|
||||
@users('admin')
|
||||
@mute_logger('odoo.models.unlink')
|
||||
def test_alias_domain_parameters(self):
|
||||
""" Check the validation of ``mail.bounce.alias`` and ``mail.catchall.alias``
|
||||
parameters. """
|
||||
ICP = self.env['ir.config_parameter']
|
||||
# sanitization
|
||||
for (bounce_value, catchall_value), (expected_bounce, expected_catchall) in zip(
|
||||
[
|
||||
('bounce+b4r=*R3wl_#_-$€{}[]()~|\\/!?&%^\'"`~', 'catchall+b4r=*R3wl_#_-$€{}[]()~|\\/!?&%^\'"`~'),
|
||||
('bounce+😊', 'catchall+😊'),
|
||||
('Bouncâïde 😊', 'Catchôïee 😊'),
|
||||
('ぁ', 'ぁぁ'),
|
||||
],
|
||||
[
|
||||
('bounce+b4r=*r3wl_#_-$-{}-~|-/!?&%^\'-`~', 'catchall+b4r=*r3wl_#_-$-{}-~|-/!?&%^\'-`~'),
|
||||
('bounce+-', 'catchall+-'),
|
||||
('bouncaide-', 'catchoiee-'),
|
||||
('?', '??'),
|
||||
]
|
||||
):
|
||||
with self.subTest(bounce_value=bounce_value):
|
||||
ICP.set_param('mail.bounce.alias', bounce_value)
|
||||
self.assertEqual(ICP.get_param('mail.bounce.alias'), expected_bounce)
|
||||
with self.subTest(catchall_value=catchall_value):
|
||||
ICP.set_param('mail.catchall.alias', catchall_value)
|
||||
self.assertEqual(ICP.get_param('mail.catchall.alias'), expected_catchall)
|
||||
|
||||
# falsy values
|
||||
for config_value in [False, None, '', ' ']:
|
||||
with self.subTest(config_value=config_value):
|
||||
ICP.set_param('mail.bounce.alias', config_value)
|
||||
self.assertFalse(ICP.get_param('mail.bounce.alias'))
|
||||
ICP.set_param('mail.catchall.alias', config_value)
|
||||
self.assertFalse(ICP.get_param('mail.catchall.alias'))
|
||||
|
||||
# check successive param set, should not raise for unicity against itself
|
||||
for _ in range(2):
|
||||
ICP.set_param('mail.bounce.alias', 'bounce+double.test')
|
||||
ICP.set_param('mail.catchall.alias', 'catchall+double.test')
|
||||
self.assertEqual(ICP.get_param('mail.bounce.alias'), 'bounce+double.test')
|
||||
self.assertEqual(ICP.get_param('mail.catchall.alias'), 'catchall+double.test')
|
||||
|
||||
@users('erp_manager')
|
||||
def test_alias_domain_company_check(self):
|
||||
""" Check constraint trying to avoid ill-defined company setup aka
|
||||
|
||||
@@ -460,7 +460,6 @@ class TestMessageAccess(MailCommon):
|
||||
|
||||
def test_mail_message_access_create_reply(self):
|
||||
# TDE FIXME: should it really work ? not sure - catchall makes crash (aka, post will crash also)
|
||||
self.env['ir.config_parameter'].set_param('mail.catchall.domain', False)
|
||||
self.message.write({'partner_ids': [(4, self.user_employee.partner_id.id)]})
|
||||
self.env['mail.message'].with_user(self.user_employee).create({'model': 'discuss.channel', 'res_id': self.private_group.id, 'body': 'Test', 'parent_id': self.message.id})
|
||||
|
||||
|
||||
@@ -51,9 +51,7 @@ class TestIrMailServer(TransactionCase, MockSmtplibCase):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
# TEMPORARY
|
||||
for icp in {'mail.default.from', 'mail.catchall.alias', 'mail.bounce.alias', 'mail.catchall.domain', 'mail.default.from_filter'}:
|
||||
cls.env['ir.config_parameter'].sudo().set_param(icp, False)
|
||||
cls.env['ir.config_parameter'].sudo().set_param('mail.default.from_filter', False)
|
||||
cls._init_mail_servers()
|
||||
cls.default_bounce_address = 'CACA'
|
||||
cls.default_from_address = 'PROUT'
|
||||
|
||||
Reference in New Issue
Block a user