176 lines
6.9 KiB
XML
176 lines
6.9 KiB
XML
<?xml version="1.0" encoding="utf-8" ?>
|
|
<!-- Copyright 2016 Antonio Espinosa - <antonio.espinosa@tecnativa.com>
|
|
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -->
|
|
<odoo>
|
|
|
|
<record model="ir.ui.view" id="view_mail_tracking_email_form">
|
|
<field name="name">mail.tracking.email.form</field>
|
|
<field name="model">mail.tracking.email</field>
|
|
<field name="arch" type="xml">
|
|
<form string="MailTracking event" create="false" edit="false" delete="false">
|
|
<header>
|
|
<field name="state" widget="statusbar" />
|
|
</header>
|
|
<sheet>
|
|
<group>
|
|
<field name="name" />
|
|
</group>
|
|
<group>
|
|
<group>
|
|
<field name="mail_message_id" />
|
|
<field name="mail_id" />
|
|
<field name="partner_id" />
|
|
<field name="recipient" />
|
|
<field name="sender" />
|
|
</group>
|
|
<group>
|
|
<field name="timestamp" />
|
|
<field name="time" />
|
|
<field name="date" />
|
|
</group>
|
|
</group>
|
|
<group attrs="{'invisible': [('bounce_type', '=', False)]}">
|
|
<field name="bounce_type" />
|
|
<field name="bounce_description" />
|
|
</group>
|
|
<group attrs="{'invisible': [('error_type', '=', False)]}">
|
|
<field
|
|
name="error_smtp_server"
|
|
attrs="{'invisible': [('error_smtp_server', '=', False)]}"
|
|
/>
|
|
<field name="error_type" />
|
|
<field name="error_description" />
|
|
</group>
|
|
<label for="tracking_event_ids" />
|
|
<div>
|
|
<field name="tracking_event_ids">
|
|
<tree
|
|
string="Tracking events"
|
|
decoration-muted="event_type == 'deferral'"
|
|
decoration-danger="event_type in ('hard_bounce', 'soft_bounce', 'spam', 'reject')"
|
|
decoration-info="event_type in ('unsub', 'click', 'open')"
|
|
>
|
|
<field name="time" />
|
|
<field name="event_type" />
|
|
<field name="ip" />
|
|
<field name="url" />
|
|
<field name="user_country_id" string="Country" />
|
|
<field name="os_family" string="OS" />
|
|
<field name="ua_family" string="User agent" />
|
|
</tree>
|
|
</field>
|
|
</div>
|
|
</sheet>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<record model="ir.ui.view" id="view_mail_tracking_email_tree">
|
|
<field name="name">mail.tracking.email.tree</field>
|
|
<field name="model">mail.tracking.email</field>
|
|
<field name="arch" type="xml">
|
|
<tree
|
|
string="MailTracking emails"
|
|
create="false"
|
|
edit="false"
|
|
delete="false"
|
|
decoration-muted="state in (False, 'deferred')"
|
|
decoration-success="state == 'opened'"
|
|
decoration-danger="state in ('rejected', 'spam', 'bounced', 'soft-bounced', 'error')"
|
|
decoration-info="state == 'unsub'"
|
|
>
|
|
<field name="time" />
|
|
<field name="date" invisible="1" />
|
|
<field name="name" />
|
|
<field name="sender" string="Sender" />
|
|
<field name="recipient" string="Recipient" />
|
|
<field name="state" />
|
|
</tree>
|
|
</field>
|
|
</record>
|
|
|
|
<record model="ir.ui.view" id="view_mail_tracking_email_search">
|
|
<field name="name">mail.tracking.email.search</field>
|
|
<field name="model">mail.tracking.email</field>
|
|
<field name="arch" type="xml">
|
|
<search string="MailTracking email search">
|
|
<field
|
|
name="display_name"
|
|
string="Email"
|
|
filter_domain="['|', ('sender', 'ilike', self), ('recipient', 'ilike', self)]"
|
|
/>
|
|
<field name="sender" string="Sender" />
|
|
<field name="recipient" string="Recipient" />
|
|
<field name="name" string="Subject" />
|
|
<field name="time" string="Time" />
|
|
<field name="date" string="Date" />
|
|
<filter name="sent" string="Sent" domain="[('state', 'in', ('sent',))]" />
|
|
<filter
|
|
name="deferred"
|
|
string="Deferred"
|
|
domain="[('state', '=', 'deferred')]"
|
|
/>
|
|
<filter
|
|
name="delivered"
|
|
string="Delivered"
|
|
domain="[('state', 'in', ('delivered', 'opened'))]"
|
|
/>
|
|
<filter
|
|
name="unsub"
|
|
string="Unsubscribed"
|
|
domain="[('state', '=', 'unsub')]"
|
|
/>
|
|
<filter
|
|
name="exception"
|
|
string="Failed"
|
|
domain="[('state', 'in', ('error', 'rejected', 'spam', 'bounced', 'soft-bounced'))]"
|
|
/>
|
|
<separator />
|
|
<group expand="0" string="Group By">
|
|
<filter
|
|
string="State"
|
|
name="group_by_state"
|
|
domain="[]"
|
|
context="{'group_by': 'state'}"
|
|
/>
|
|
<filter
|
|
string="Subject"
|
|
name="group_by_subject"
|
|
domain="[]"
|
|
context="{'group_by': 'name'}"
|
|
/>
|
|
<filter
|
|
string="Sender"
|
|
name="group_by_sender"
|
|
domain="[]"
|
|
context="{'group_by': 'sender'}"
|
|
/>
|
|
<filter
|
|
string="Month"
|
|
name="group_by_month"
|
|
domain="[]"
|
|
context="{'group_by': 'date'}"
|
|
/>
|
|
</group>
|
|
</search>
|
|
</field>
|
|
</record>
|
|
|
|
|
|
<record id="action_view_mail_tracking_email" model="ir.actions.act_window">
|
|
<field name="name">MailTracking emails</field>
|
|
<field name="res_model">mail.tracking.email</field>
|
|
<field name="view_mode">tree,form</field>
|
|
<field name="search_view_id" ref="view_mail_tracking_email_search" />
|
|
</record>
|
|
|
|
<!-- Add menu entry in Settings/Email -->
|
|
<menuitem
|
|
name="Tracking emails"
|
|
id="menu_mail_tracking_email"
|
|
parent="base.menu_email"
|
|
action="action_view_mail_tracking_email"
|
|
/>
|
|
|
|
</odoo>
|