Files
odoo_source/addons/mass_mailing/views/mailing_trace_views.xml
T
nounoubensebia 2b4ccc326b [IMP] mass_mailing, mass_mailing_sms: revamp mail trace form
- 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>
2021-02-11 12:08:03 +00:00

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>