[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:
Thibault Delavallée
2023-10-24 19:24:50 +00:00
parent c68ddce1b9
commit ab8c0e4c6f
8 changed files with 4 additions and 81 deletions
-1
View File
@@ -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',
-9
View File
@@ -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>
+3 -17
View File
@@ -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)
-4
View File
@@ -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
-43
View File
@@ -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'