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>
81 lines
4.1 KiB
XML
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>
|