From d6434fe84657dac667880fb7e5faa40cbe63011e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Fri, 10 Sep 2021 07:50:20 +0000 Subject: [PATCH] [IMP] base: improve ir.mail_server form view readability PURPOSE Help people setuping their mail server with clear labels and form view. SPECIFICATIONS Rename Description to Name, as Description indicates a secondary text field. Add a placeholder to indicate it is used as a functional name and not a technical field. Relabel the field for filtering to FROM Filtering. Current From Filter could lead to think it filters incoming emails which is not the case. Move button for testing in header as on all form views. Use radio buttons for authentication and encryption to display available settings directly to user. This is more user friendly than selection boxes. Split connection information in two groups: authentication and security. Each group comes with its options below main radio-based field. Task-2628092 closes odoo/odoo#76301 Signed-off-by: Thibault Delavallee (tde) --- odoo/addons/base/models/ir_mail_server.py | 11 ++-- .../base/views/ir_mail_server_views.xml | 56 +++++++++++-------- 2 files changed, 38 insertions(+), 29 deletions(-) diff --git a/odoo/addons/base/models/ir_mail_server.py b/odoo/addons/base/models/ir_mail_server.py index e7aa1c12046..5a1e34f4278 100644 --- a/odoo/addons/base/models/ir_mail_server.py +++ b/odoo/addons/base/models/ir_mail_server.py @@ -88,11 +88,11 @@ class IrMailServer(models.Model): NO_VALID_RECIPIENT = ("At least one valid recipient address should be " "specified for outgoing emails (To/Cc/Bcc)") - name = fields.Char(string='Description', required=True, index=True) + name = fields.Char(string='Name', required=True, index=True) from_filter = fields.Char( - "From Filter", - help='Define for which email address or domain this server can be used.\n' - 'e.g.: "notification@odoo.com" or "odoo.com"') + "FROM Filtering", + help='Define for which email address or domain this server can be used.\n' + 'e.g.: "notification@odoo.com" or "odoo.com"') smtp_host = fields.Char(string='SMTP Server', required=True, help="Hostname or IP of SMTP server") smtp_port = fields.Integer(string='SMTP Port', required=True, default=25, help="SMTP Port. Usually 465 for SSL, and 25 or 587 for other cases.") smtp_authentication = fields.Selection([('login', 'Username'), ('certificate', 'SSL Certificate')], string='Authenticate with', required=True, default='login') @@ -101,7 +101,7 @@ class IrMailServer(models.Model): smtp_encryption = fields.Selection([('none', 'None'), ('starttls', 'TLS (STARTTLS)'), ('ssl', 'SSL/TLS')], - string='Connection Security', required=True, default='none', + string='Connection Encryption', required=True, default='none', help="Choose the connection encryption scheme:\n" "- None: SMTP sessions are done in cleartext.\n" "- TLS (STARTTLS): TLS encryption is requested at start of SMTP session (Recommended)\n" @@ -428,6 +428,7 @@ class IrMailServer(models.Model): domain = get_param('mail.catchall.domain') if postmaster and domain: return '%s@%s' % (postmaster, domain) + return @api.model def _get_default_from_address(self): diff --git a/odoo/addons/base/views/ir_mail_server_views.xml b/odoo/addons/base/views/ir_mail_server_views.xml index d12804337c0..a8eaf982b09 100644 --- a/odoo/addons/base/views/ir_mail_server_views.xml +++ b/odoo/addons/base/views/ir_mail_server_views.xml @@ -5,30 +5,33 @@ ir.mail_server
- - - - - - - - - - - - - - - - - - - - -