summaryrefslogtreecommitdiff
path: root/addons/mass_mailing/views/mailing_trace_views.xml
diff options
context:
space:
mode:
authorThibault Delavallée <tde@odoo.com>2019-07-17 09:26:42 +0000
committerThibault Delavallée <tde@odoo.com>2019-07-17 15:39:06 +0000
commit2896aad34e797b6ca65a8efe3c5d71f31500a9a2 (patch)
tree81f2298b04182860e84f2ca9815f313cc0c75ffc /addons/mass_mailing/views/mailing_trace_views.xml
parent20dfba6e11ac4553509c1a3516c6453b8f8023e7 (diff)
[REF] mass_mailing: rename mail.mail.statistics and reporting model
PURPOSE Mass mailing is currently a bit messy. As SMS will be added as a way to notify people in mass through SMS let us take this opportunity to somehow clean this application: organization, light code cleaning, model renaming. SPECIFICATIONS Rename mail.mail.statistics to mailing.trace and mail.statistics.report to mail.trace.report. Rationale : * mail.mail.statistics is linked to mail.mail model. Soon this model will hold data related to SMS sending. It makes sense to be broader in the naming; * mailing.trace is more inlined with marketing.trace model that is the marketing automation model using it in marketing automation (enterprise application); * mailing.trace is shorter to write; * mail.statistics.report model should sense to be updated at the same time; MIGRATION mail.mail.statistics model -> mailing.trace mail_mail_statistics table -> mailing_trace mail.statistics.report model -> mail.trace.report fields updated (w column change) * link.tracker.click: mail_stat_id -> mailing_trace_id fields updated (no column change) * mail.mail: statistics_ids -> mailing_trace_ids * mail.mass_mailing: statistics_ids -> mailing_trace_ids LINKS Task ID 2037906 Preparing task ID 1997464 (SMS addition in mass mailing) PR #34938
Diffstat (limited to 'addons/mass_mailing/views/mailing_trace_views.xml')
-rw-r--r--addons/mass_mailing/views/mailing_trace_views.xml126
1 files changed, 126 insertions, 0 deletions
diff --git a/addons/mass_mailing/views/mailing_trace_views.xml b/addons/mass_mailing/views/mailing_trace_views.xml
new file mode 100644
index 00000000000..86907f2770f
--- /dev/null
+++ b/addons/mass_mailing/views/mailing_trace_views.xml
@@ -0,0 +1,126 @@
+<?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="mass_mailing_id"/>
+ <filter string="Sent" name="filter_sent" domain="[('sent', '!=', False)]"/>
+ <filter string="Received" name="filter_received" domain="[('sent', '!=', False), ('bounced', '=', False)]"/>
+ <filter string="Scheduled" name="filter_scheduled" domain="[('scheduled', '!=', False), ('sent', '=', False), ('exception', '=', False)]"/>
+ <filter string="Failed" name="filter_failed" domain="[('scheduled', '!=', False), ('sent', '=', False), ('exception', '!=', False)]"/>
+ <filter string="Ignored" name="filter_ignored" domain="[('scheduled', '!=', False), ('sent', '=', False), ('exception', '=', False), ('ignored', '!=', 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)]"/>
+ <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="email"/>
+ <field name="state"/>
+ <field name="message_id"/>
+ <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">
+ <header>
+ <field name="state" widget="statusbar"/>
+ </header>
+ <sheet>
+ <div class="oe_form_box_info bg-info oe_text_center alert-info" attrs="{'invisible': [('exception', '=', False)]}" role="alert">
+ <p><strong>This email could not be sent.</strong></p>
+ </div>
+ <group>
+ <group>
+ <field name="email" string="Email"/>
+ <field name="mass_mailing_id"/>
+ <field name="mass_mailing_campaign_id" groups="mass_mailing.group_mass_mailing_campaign"/>
+ <field name="mail_mail_id_int" groups="base.group_no_one"/>
+ <field name="message_id" groups="base.group_no_one"/>
+ <field name="model" groups="base.group_no_one"/>
+ <field name="res_id" groups="base.group_no_one"/>
+ </group>
+ <group>
+ <field name="exception"/>
+ <field name="sent"/>
+ <field name="opened"/>
+ <field name="clicked"/>
+ <field name="replied"/>
+ <field name="bounced"/>
+ <field name="ignored"/>
+ </group>
+ </group>
+ </sheet>
+ </form>
+ </field>
+ </record>
+
+ <record id="action_view_mail_mail_statistics" model="ir.actions.act_window">
+ <field name="name">Mail Statistics</field>
+ <field name="res_model">mailing.trace</field>
+ <field name="view_mode">tree,form</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>
+ </record>
+
+ <record id="action_view_mail_mail_statistics_mailing_list" model="ir.actions.act_window">
+ <field name="name">Emails Sent</field>
+ <field name="res_model">mailing.trace</field>
+ <field name="view_mode">tree,graph,form,pivot</field>
+ <field name="domain">[]</field>
+ <field name="context">{'search_default_mass_mailing_id': active_id}</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" interval="day">
+ <field name="state_update" type="row" interval="day"/>
+ <field name="state" type="row"/>
+ </graph>
+ </field>
+ </record>
+
+ <!-- Add in Technical/Email -->
+ <menuitem name="Mail Statistics" id="menu_email_statistics"
+ parent="base.menu_email" sequence="50"
+ action="action_view_mail_mail_statistics"/>
+</odoo>