Files
odoo_source/odoo/addons/base/views/ir_mail_server_views.xml
T
Thibault Delavallée d6434fe846 [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) <tde@openerp.com>
2021-10-05 15:40:36 +00:00

81 lines
4.1 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- ir.mail.server -->
<record model="ir.ui.view" id="ir_mail_server_form">
<field name="model">ir.mail_server</field>
<field name="arch" type="xml">
<form string="Outgoing Mail Servers">
<header>
<button string="Test Connection" type="object"
name="test_smtp_connection" class="btn-primary"/>
</header>
<sheet>
<group col="4">
<field name="name" placeholder="e.g. My Outgoing Server"/>
<field name="from_filter"/>
<field name="sequence"/>
<field name="active" widget="boolean_toggle"/>
</group>
<group>
<group string="Authentication">
<field name="smtp_authentication" widget="radio"/>
<field name="smtp_user" attrs="{'invisible': [('smtp_authentication', '!=', 'login')]}" force_save="1"/>
<field name="smtp_pass" attrs="{'invisible': [('smtp_authentication', '!=', 'login')]}" password="True" force_save="1"/>
<field name="smtp_ssl_certificate" attrs="{'invisible': [('smtp_authentication', '!=', 'certificate')]}" force_save="1"/>
<field name="smtp_ssl_private_key" attrs="{'invisible': [('smtp_authentication', '!=', 'certificate')]}" force_save="1"/>
</group>
<group string="Connection">
<field name="smtp_encryption" widget="radio"/>
<field name="smtp_host"/>
<field name="smtp_port" options="{'format': false}"/>
<field name="smtp_debug" groups="base.group_no_one"/>
</group>
</group>
</sheet>
</form>
</field>
</record>
<record model="ir.ui.view" id="ir_mail_server_list">
<field name="model">ir.mail_server</field>
<field name="arch" type="xml">
<tree string="Outgoing Mail Servers">
<field name="sequence"/>
<field name="name"/>
<field name="smtp_host"/>
<field name="smtp_user"/>
<field name="smtp_encryption"/>
<field name="from_filter" optional="hide"/>
</tree>
</field>
</record>
<record id="view_ir_mail_server_search" model="ir.ui.view">
<field name="model">ir.mail_server</field>
<field name="arch" type="xml">
<search string="Outgoing Mail Servers">
<field name="name"
filter_domain="['|', '|',
('name', 'ilike', self),
('smtp_host', 'ilike', self),
('smtp_user', 'ilike', self)]"
string="Outgoing Mail Server"/>
<field name="smtp_encryption"/>
<field name="from_filter"/>
<separator/>
<filter string="Archived" name="inactive" domain="[('active', '=', False)]"/>
</search>
</field>
</record>
<record model="ir.actions.act_window" id="action_ir_mail_server_list">
<field name="name">Outgoing Mail Servers</field>
<field name="res_model">ir.mail_server</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="ir_mail_server_list" />
<field name="search_view_id" ref="view_ir_mail_server_search"/>
</record>
<menuitem id="menu_mail_servers" parent="menu_email" action="action_ir_mail_server_list" sequence="5" groups="base.group_no_one"/>
</odoo>