- make all the mailing trace fields readonly inside the form, beacause a user would not want to edit a mailing trace as this will make the related statistics about the mailings incorrect - change the mailing trace form view interface to give more clarity to the user and to better separate between different fields - add a stat button to redirect the user to the coressponding mailing contact so that he can easily access the mailing contact in order to blacklist/output/correct the email address or the phone number - remove the warning messages in the mailing trace form view because the user already has all the information in the status bar of the form - update the inherited mailing trace form view located in the mass_mailing_sms module to adapt to the new changes in the trace form view of the mass_mailing module Task-2440420 Enterprise PR: https://github.com/odoo/enterprise/pull/16105 closes odoo/odoo#65469 Related: odoo/enterprise#16105 Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
138 lines
7.1 KiB
XML
138 lines
7.1 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<odoo>
|
|
<!-- MAILING TRACE !-->
|
|
<record model="ir.ui.view" id="mailing_trace_view_search">
|
|
<field name="name">mailing.trace.search</field>
|
|
<field name="model">mailing.trace</field>
|
|
<field name="arch" type="xml">
|
|
<search string="Mail Statistics">
|
|
<field name="mail_mail_id_int"/>
|
|
<field name="message_id"/>
|
|
<field name="email"/>
|
|
<field name="mass_mailing_id"/>
|
|
<filter string="Scheduled" name="filter_scheduled" domain="[('scheduled', '!=', False), ('sent', '=', False), ('exception', '=', False), ('ignored', '=', False), ('bounced', '=', False)]"/>
|
|
<filter string="Ignored" name="filter_ignored" domain="[('scheduled', '!=', False), ('sent', '=', False), ('exception', '=', False), ('ignored', '!=', False)]"/>
|
|
<filter string="Sent" name="filter_sent" domain="[('sent', '!=', False)]"/>
|
|
<filter string="Delivered" name="filter_delivered" domain="[('sent', '!=', False), ('exception', '=', False), ('bounced', '=', False)]"/>
|
|
<separator/>
|
|
<filter string="Opened" name="filter_opened" domain="[('opened', '!=', False)]"/>
|
|
<filter string="Clicked" name="filter_clicked" domain="[('clicked', '!=', False)]"/>
|
|
<filter string="Replied" name="filter_replied" domain="[('replied', '!=', False)]"/>
|
|
<filter string="Bounced" name="filter_bounced" domain="[('bounced', '!=', False)]"/>
|
|
<filter string="Failed" name="filter_failed" domain="[('exception', '!=', False)]"/>
|
|
<group expand="0" string="Group By">
|
|
<filter string="State" name="state" domain="[]" context="{'group_by':'state'}"/>
|
|
<filter string="Open Date" name="group_open_date" context="{'group_by': 'opened:day'}"/>
|
|
<filter string="Reply Date" name="group_reply_date" context="{'group_by': 'replied:day'}"/>
|
|
<filter string="Last State Update" name="state_update" domain="[]" context="{'group_by':'state_update'}"/>
|
|
<filter string="Mass Mailing" name="mass_mailing" domain="[]" context="{'group_by':'mass_mailing_id'}"/>
|
|
</group>
|
|
</search>
|
|
</field>
|
|
</record>
|
|
|
|
<record model="ir.ui.view" id="mailing_trace_view_tree">
|
|
<field name="name">mailing.trace.tree</field>
|
|
<field name="model">mailing.trace</field>
|
|
<field name="arch" type="xml">
|
|
<tree string="Mail Statistics" create="0">
|
|
<field name="mass_mailing_id"/>
|
|
<field name="email"/>
|
|
<field name="state"/>
|
|
<field name="message_id"/>
|
|
<field name="scheduled"/>
|
|
<field name="sent"/>
|
|
<field name="exception"/>
|
|
<field name="opened"/>
|
|
<field name="clicked"/>
|
|
<field name="replied"/>
|
|
<field name="bounced"/>
|
|
<field name="ignored"/>
|
|
</tree>
|
|
</field>
|
|
</record>
|
|
|
|
<record model="ir.ui.view" id="mailing_trace_view_form">
|
|
<field name="name">mailing.trace.form</field>
|
|
<field name="model">mailing.trace</field>
|
|
<field name="arch" type="xml">
|
|
<form string="Mail Statistics" create="0" edit="0">
|
|
<header>
|
|
<field name="state" widget="statusbar"/>
|
|
</header>
|
|
<sheet>
|
|
<div class="oe_button_box" name="button_box">
|
|
<button name="action_view_contact"
|
|
type="object" icon="fa-user" class="oe_stat_button">
|
|
<span widget="statinfo">Open Recipient</span>
|
|
</button>
|
|
</div>
|
|
<group>
|
|
<group string="Mailing">
|
|
<field name="trace_type" invisible="1"/>
|
|
<field name="email" string="Recipient Address" readonly="1"/>
|
|
<field name="sent" attrs="{'invisible' : [('sent', '=', False)]}" readonly="1"/>
|
|
<field name="opened" attrs="{'invisible' : [('opened', '=', False)]}" readonly="1"/>
|
|
<field name="replied" attrs="{'invisible' : [('replied', '=', False)]}" readonly="1"/>
|
|
<field name="bounced" attrs="{'invisible' : [('bounced', '=', False)]}" readonly="1"/>
|
|
<field name="ignored" attrs="{'invisible' : [('ignored', '=', False)]}" readonly="1"/>
|
|
<field name="failure_type" attrs="{'invisible' : [('failure_type', '=', False)]}" readonly="1"/>
|
|
</group>
|
|
|
|
<group string="Marketing">
|
|
<field name="campaign_id" readonly="1"/>
|
|
<field name="medium_id" readonly="1"/>
|
|
<field name="source_id" readonly="1"/>
|
|
<field name="mass_mailing_id" readonly="1"/>
|
|
</group>
|
|
|
|
<group string="Technical">
|
|
<field name="exception" readonly="1"/>
|
|
<field name="state_update" readonly="1"/>
|
|
<field name="mail_mail_id_int" string="Mail ID" readonly="1"/>
|
|
<field name="message_id" readonly="1"/>
|
|
</group>
|
|
</group>
|
|
</sheet>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_mail_mail_statistics_graph" model="ir.ui.view">
|
|
<field name="name">Mail Statistics Graph</field>
|
|
<field name="model">mailing.trace</field>
|
|
<field name="arch" type="xml">
|
|
<graph string="Mail Statistics" type="bar" stacked="True" sample="1">
|
|
<field name="state_update" type="row" interval="day"/>
|
|
<field name="state" type="row"/>
|
|
</graph>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="mailing_trace_action" model="ir.actions.act_window">
|
|
<field name="name">Mailing Traces</field>
|
|
<field name="res_model">mailing.trace</field>
|
|
<field name="view_mode">tree,form,graph,pivot</field>
|
|
<field name="domain">[]</field>
|
|
</record>
|
|
|
|
<record id="action_view_mail_mail_statistics_mailing" model="ir.actions.act_window">
|
|
<field name="name">Mail Statistics</field>
|
|
<field name="res_model">mailing.trace</field>
|
|
<field name="view_mode">graph,tree,form,pivot</field>
|
|
<field name="domain">[]</field>
|
|
<field name="context">{'search_default_mass_mailing_id': active_id}</field>
|
|
<field name="help" type="html">
|
|
<p class="o_view_nocontent_smiling_face">
|
|
No data yet!
|
|
</p>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- Add in Technical/Email -->
|
|
<menuitem id="menu_email_statistics"
|
|
name="Mailing Traces"
|
|
parent="mass_mailing.mailing_mailing_menu_technical" sequence="2"
|
|
action="mailing_trace_action"/>
|
|
</odoo>
|