Odoo18-Base/addons/mail/views/fetchmail_views.xml
2025-03-10 11:12:23 +07:00

114 lines
6.2 KiB
XML

<?xml version="1.0"?>
<odoo>
<record id="view_email_server_tree" model="ir.ui.view">
<field name="name">fetchmail.server.list</field>
<field name="model">fetchmail.server</field>
<field name="arch" type="xml">
<tree string="POP/IMAP Servers">
<field name="name"/>
<field name="server_type"/>
<field name="user"/>
<field name="date"/>
<field name="state" widget="badge"
decoration-info="state == 'draft'"
decoration-success="state == 'done'"/>
</tree>
</field>
</record>
<record id="view_email_server_form" model="ir.ui.view">
<field name="name">fetchmail.server.form</field>
<field name="model">fetchmail.server</field>
<field name="arch" type="xml">
<form string="Incoming Mail Server">
<header attrs="{'invisible' : [('server_type', '=', 'local')]}">
<button string="Test &amp; Confirm" type="object" name="button_confirm_login" states="draft"/>
<button string="Fetch Now" type="object" name="fetch_mail" states="done"/>
<button string="Reset Confirmation" type="object" name="set_draft" states="done"/>
<field name="state" widget="statusbar"/>
</header>
<sheet>
<field name="active" invisible="1"/>
<widget name="web_ribbon" title="Archived" bg_color="bg-danger"
attrs="{'invisible': [('active', '=', True)]}"/>
<group>
<group>
<field name="name"/>
<field name="server_type" widget="radio" attrs="{'readonly': [('state', '=', 'done')]}"/>
</group>
<group>
<field name="date" attrs="{'invisible': [('date', '=', False)]}"/>
<div class="text-muted fst-italic" colspan="8" role="alert"
attrs="{'invisible': [('server_type_info', '=', False)]}">
<field name="server_type_info"/>
</div>
</group>
</group>
<notebook>
<page string="Server &amp; Login" name="server_login_details">
<group>
<group attrs="{'invisible' : [('server_type', '=', 'local')]}" string="Server Information">
<field name="server" attrs="{'required' : [('server_type', '!=', 'local')]}" />
<field name="port"
required="1"
attrs="{'required' : [('server_type', '!=', 'local')]}"
options="{'format': false}" />
<field name="is_ssl"/>
</group>
<group attrs="{'invisible' : [('server_type', '=', 'local')]}" string="Login Information">
<field name="user" attrs="{'required' : [('server_type', '!=', 'local')]}"/>
<field name="password" password="True"
attrs="{'required' : [('server_type', 'in', ('imap', 'pop'))], 'invisible' : [('server_type', 'not in', ('imap', 'pop'))]}"/>
</group>
<group string="Actions to Perform on Incoming Mails">
<field name="object_id"/>
</group>
<group attrs="{'invisible' : [('server_type', '!=', 'local')]}" string="Configuration">
<field name="configuration"/>
<field name="script" widget="url"/>
</group>
</group>
</page>
<page string="Advanced" name="advanced_options" groups="base.group_no_one">
<group>
<group string="Advanced Options">
<field name="priority"/>
<field name="attach"/>
<field name="original"/>
</group>
</group>
</page>
</notebook>
</sheet>
</form>
</field>
</record>
<record id="view_email_server_search" model="ir.ui.view">
<field name="name">fetchmail.server.search</field>
<field name="model">fetchmail.server</field>
<field name="arch" type="xml">
<search string="Search Incoming Mail Servers">
<field name="name" string="Incoming Mail Server"/>
<field name="user"/>
<filter string="IMAP" name="imap" domain="[('server_type', '=', 'imap')]" help="Server type IMAP."/>
<filter string="POP" name="pop" domain="[('server_type', '=', 'pop')]" help="Server type POP."/>
<separator/>
<filter string="SSL" name="ssl" domain="[('is_ssl', '=', True)]" help="If SSL required."/>
<separator/>
<filter string="Archived" name="inactive" domain="[('active', '=', False)]"/>
</search>
</field>
</record>
<record id="action_email_server_tree" model="ir.actions.act_window">
<field name="name">Incoming Mail Servers</field>
<field name="res_model">fetchmail.server</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="view_email_server_tree"/>
<field name="search_view_id" ref="view_email_server_search"/>
</record>
</odoo>