diff options
| author | Nicolas Lempereur <nle@odoo.com> | 2017-04-27 08:32:42 +0200 |
|---|---|---|
| committer | Nicolas Lempereur <nle@odoo.com> | 2017-04-27 08:34:33 +0200 |
| commit | 1faa4a74aa3a7cdcf497bd5e589310c8d89c32b2 (patch) | |
| tree | adf538b2e486b4d3f316b9ddc56d0d65cc248157 | |
| parent | 75d9674d45968d948f682ebb0a3db99dee32024e (diff) | |
Revert "[FIX] mass_mailing: revert typo forward port ed0233f"
This reverts commit 75d9674d4 and revert well 551719a81e which wass done
on mail.mass_mailing instead of mail.template (on which it should not be
done).
| -rw-r--r-- | addons/mass_mailing/views/mass_mailing_views.xml | 765 |
1 files changed, 765 insertions, 0 deletions
diff --git a/addons/mass_mailing/views/mass_mailing_views.xml b/addons/mass_mailing/views/mass_mailing_views.xml new file mode 100644 index 00000000000..ddd5e153696 --- /dev/null +++ b/addons/mass_mailing/views/mass_mailing_views.xml @@ -0,0 +1,765 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + + <!-- Marketing / Mass Mailing --> + <menuitem name="Mass Mailing" id="mass_mailing_menu_root" sequence="60" web_icon="mass_mailing,static/description/icon.png"/> + <menuitem name="Mailings" id="mass_mailing_menu" + parent="mass_mailing_menu_root" sequence="1" groups="mass_mailing.group_mass_mailing_user"/> + <!-- Marketing / Configuration --> + <menuitem name="Configuration" id="mass_mailing_configuration" + parent="mass_mailing_menu_root" sequence="100"/> + + <!-- MASS MAILING CONTACT --> + + <!-- Custom reports (aka filters) --> + <record id="filter_contact_subscription" model="ir.filters"> + <field name="name">List Subscription</field> + <field name="model_id">mail.mass_mailing.contact</field> + <field name="user_id" eval="False"/> + <field name="context">{'group_by': ['create_date:month'], 'col_group_by': ['list_id']}</field> + </record> + <record id="filter_contact_unsubscription" model="ir.filters"> + <field name="name">List Unsubscription</field> + <field name="model_id">mail.mass_mailing.contact</field> + <field name="user_id" eval="False"/> + <field name="domain">[('opt_out','=',True)]</field> + <field name="context">{'group_by': ['unsubscription_date:month'], 'col_group_by': ['list_id']}</field> + </record> + + <record model="ir.ui.view" id="view_mail_mass_mailing_contact_search"> + <field name="name">mail.mass_mailing.contact.search</field> + <field name="model">mail.mass_mailing.contact</field> + <field name="arch" type="xml"> + <search string="Mailing Lists Subscribers"> + <field name="name"/> + <field name="email"/> + <field name="list_id"/> + <separator/> + <filter string="Exclude Opt Out" name="not_opt_out" domain="[('opt_out', '=', False)]"/> + <separator/> + <filter string="Exclude Dead" name="not_bounced" domain="[('message_bounce', '<', 5)]"/> + <group expand="0" string="Group By"> + <filter string="Creation Date" name="group_create_date" + context="{'group_by': 'create_date'}"/> + <filter string="Mailing Lists" name="group_list_id" + context="{'group_by': 'list_id'}"/> + </group> + </search> + </field> + </record> + + <record model="ir.ui.view" id="view_mail_mass_mailing_contact_tree"> + <field name="name">mail.mass_mailing.contact.tree</field> + <field name="model">mail.mass_mailing.contact</field> + <field name="priority">10</field> + <field name="arch" type="xml"> + <tree string="Mailing Lists Subscribers" editable="top"> + <field name="email"/> + <field name="name"/> + <field name="list_id"/> + <field name="message_bounce"/> + <field name="create_date"/> + <field name="unsubscription_date" readonly="1"/> + <field name="opt_out"/> + </tree> + </field> + </record> + + <record model="ir.ui.view" id="view_mail_mass_mailing_contact_graph"> + <field name="name">mail.mass_mailing.contact.graph</field> + <field name="model">mail.mass_mailing.contact</field> + <field name="priority">10</field> + <field name="arch" type="xml"> + <graph string="Mailing Lists Subscriber" type="pivot" stacked="True"> + <field name="create_date" type="row"/> + <field name="list_id" type="col"/> + </graph> + </field> + </record> + + <record model="ir.actions.act_window" id="action_view_mass_mailing_contacts"> + <field name="name">Mailing List Subscribers</field> + <field name="res_model">mail.mass_mailing.contact</field> + <field name="view_type">form</field> + <field name="view_mode">tree,graph</field> + <field name="context">{'search_default_not_opt_out': 1}</field> + </record> + + <record model="ir.actions.act_window" id="action_view_mass_mailing_contacts_from_list"> + <field name="name">Recipients</field> + <field name="res_model">mail.mass_mailing.contact</field> + <field name="view_type">form</field> + <field name="view_mode">tree,form,graph</field> + <field name="context">{'search_default_list_id': active_id, 'search_default_not_opt_out': 1}</field> + <field name="help" type="html"> + <p class="oe_view_nocontent_create"> + Click to create a recipient. + </p> + </field> + </record> + + <menuitem name="Contacts" id="menu_email_mass_mailing_contacts" + parent="mass_mailing_menu" sequence="4" groups="base.group_no_one" + action="action_view_mass_mailing_contacts"/> + + <!-- MASS MAILING LIST --> + <record model="ir.ui.view" id="view_mail_mass_mailing_list_search"> + <field name="name">mail.mass_mailing.list.search</field> + <field name="model">mail.mass_mailing.list</field> + <field name="arch" type="xml"> + <search string="Mailing Lists"> + <field name="name"/> + <field name="create_date"/> + <filter name="inactive" string="Archived" domain="[('active','=',False)]"/> + <group expand="0" string="Group By"> + <filter string="Creation Month" name="group_create_date" + context="{'group_by': 'create_date'}"/> + </group> + </search> + </field> + </record> + + <record model="ir.ui.view" id="view_mail_mass_mailing_list_tree"> + <field name="name">mail.mass_mailing.list.tree</field> + <field name="model">mail.mass_mailing.list</field> + <field name="priority">10</field> + <field name="arch" type="xml"> + <tree string="Mailing Lists"> + <field name="name"/> + <field name="create_date"/> + <field name="contact_nbr"/> + </tree> + </field> + </record> + + <record model="ir.ui.view" id="view_mail_mass_mailing_list_form"> + <field name="name">mail.mass_mailing.list.form</field> + <field name="model">mail.mass_mailing.list</field> + <field name="arch" type="xml"> + <form string="Contact List"> + <sheet> + <div class="oe_button_box" name="button_box"> + <button name="toggle_active" type="object" + class="oe_stat_button" icon="fa-archive"> + <field name="active" widget="boolean_button" + options='{"terminology": "archive"}'/> + </button> + <button name="%(mass_mailing.action_view_mass_mailing_contacts_from_list)d" + type="action" icon="fa-user" class="oe_stat_button"> + <field name="contact_nbr" string="Recipients" widget="statinfo"/> + </button> + </div> + <div class="oe_title"> + <label for="name" class="oe_edit_only"/> + <h1> + <field name="name" placeholder="e.g. Consumer Newsletter"/> + </h1> + </div> + </sheet> + </form> + </field> + </record> + + <record model="ir.actions.act_window" id="action_view_mass_mailing_lists"> + <field name="name">Mailing Lists</field> + <field name="res_model">mail.mass_mailing.list</field> + <field name="view_type">form</field> + <field name="view_mode">tree,form</field> + <field name="help" type="html"> + <p class="oe_view_nocontent_create"> + Click here to create a new mailing list. + </p><p> + Mailing lists allows you to to manage customers and + contacts easily and to send to mailings in a single click. + </p></field> + </record> + + <menuitem name="Mailing Lists" id="menu_email_mass_mailing_lists" + parent="mass_mailing_menu" sequence="3" + action="action_view_mass_mailing_lists"/> + + <!-- MASS MAILING !--> + <record model="ir.ui.view" id="view_mail_mass_mailing_search"> + <field name="name">mail.mass_mailing.search</field> + <field name="model">mail.mass_mailing</field> + <field name="arch" type="xml"> + <search string="Mass Mailings"> + <field name="name" string="Mailings"/> + <field name="mass_mailing_campaign_id"/> + <filter name="inactive" string="Archived" domain="[('active','=',False)]"/> + <group expand="0" string="Group By"> + <filter string="Status" name="group_state" + context="{'group_by': 'state'}"/> + <filter string="Sent By" domain="[]" + context="{'group_by':'email_from'}"/> + <separator/> + <filter string="Sent Month" + domain="[]" context="{'group_by':'sent_date:month'}"/> + </group> + </search> + </field> + </record> + + <record model="ir.ui.view" id="view_mail_mass_mailing_tree"> + <field name="name">mail.mass_mailing.tree</field> + <field name="model">mail.mass_mailing</field> + <field name="priority">10</field> + <field name="arch" type="xml"> + <tree string="Mass Mailings"> + <field name="name"/> + <field name="sent"/> + <field name="delivered"/> + <field name="opened"/> + <field name="replied"/> + <field name="mass_mailing_campaign_id" + groups="mass_mailing.group_mass_mailing_campaign"/> + </tree> + </field> + </record> + + <record model="ir.ui.view" id="view_mail_mass_mailing_form"> + <field name="name">mail.mass_mailing.form</field> + <field name="model">mail.mass_mailing</field> + <field name="arch" type="xml"> + <form string="Mass Mailing"> + <header style="min-height:31px;"> + <button name="action_test_mailing" type="object" class="oe_highlight" string="Test Mailing"/> + <button name="put_in_queue" type="object" attrs="{'invisible': ['|', ('state', 'in', ('in_queue', 'done'))]}" class="oe_highlight" string="Send to All" + confirm="This will send the email to all recipients. Do you still want to proceed ?"/> + <button name="cancel_mass_mailing" type="object" attrs="{'invisible': [('state', '!=', 'in_queue')]}" class="oe_highlight" string="Cancel"/> + <button name="retry_failed_mail" type="object" attrs="{'invisible': ['|', ('state', '!=', 'done'), ('failed', '=', 0)]}" class="oe_highlight" string="Retry"/> + + <field name="state" readonly="1" widget="statusbar"/> + </header> + <div class="oe_form_box_info oe_text_center" attrs="{'invisible': [('scheduled', '=', 0)]}"> + <p><strong> + <field name="scheduled" class="oe_inline"/> + emails are in queue and will be sent soon. + </strong></p> + </div> + <div class="oe_form_box_info oe_text_center" attrs="{'invisible': ['|', ('state', '!=', 'done'), ('failed', '=', 0)]}"> + <p><strong> + <field name="failed" class="oe_inline"/> + emails could not be sent. + </strong></p> + </div> + <div class="oe_form_box_info oe_text_center" attrs="{'invisible': [('state', '!=', 'in_queue')]}"> + <p><strong> + This mass mailing is scheduled for + <field name="next_departure" class="oe_inline"/> + </strong></p> + </div> + <sheet> + <div class="oe_button_box" name="button_box" attrs="{'invisible': [('state', 'in', ('draft','test'))]}"> + <button name="%(action_view_mail_mail_statistics_mailing)d" type="action" + icon="fa-envelope-o" class="oe_stat_button" + attrs="{'invisible': [('sent', '=', 0)]}" > + <field name="sent" string="Emails Sent" widget="statinfo"/> + </button> + <button name="%(action_view_mail_mail_statistics_mailing)d" + context="{'search_default_filter_received': True}" + type="action" class="oe_stat_button"> + <field name="received_ratio" string="Received" widget="percentpie"/> + </button> + <button name="%(action_view_mail_mail_statistics_mailing)d" + context="{'search_default_filter_opened': True}" + type="action" class="oe_stat_button"> + <field name="opened_ratio" string="Opened" widget="percentpie"/> + </button> + <button name="%(action_view_mail_mail_statistics_mailing)d" + context="{'search_default_filter_replied': True}" + type="action" class="oe_stat_button"> + <field name="replied_ratio" string="Replied" widget="percentpie"/> + </button> + <button name="%(action_view_mass_mailing_links_statistics)d" + type="action" class="oe_stat_button"> + <field name="clicks_ratio" string="Clicks" widget="percentpie"/> + </button> + <button name="%(action_view_mail_mail_statistics_mailing)d" + context="{'search_default_filter_bounced': True}" + type="action" class="oe_stat_button"> + <field name="bounced_ratio" string="Bounced" widget="percentpie"/> + </button> + <button name="toggle_active" type="object" + class="oe_stat_button" icon="fa-archive"> + <field name="active" widget="boolean_button" + options='{"terminology": "archive"}'/> + </button> + </div> + + <group> + <field name="email_from"/> + <label for="name" string="Subject"/> + <div> + <field name="name" nolabel="1"/> + </div> + <label for="mailing_model" string="Recipients"/> + <div> + <field name="mailing_model" widget="radio" options="{'horizontal': true}"/> + + <field name="mailing_domain" widget="char_domain" + placeholder="Select recipients" + attrs="{'invisible': [('mailing_model', '=', 'mail.mass_mailing.contact')]}" + options="{'model_field': 'mailing_model', 'model_domain': 'mailing_domain'}" + context="{'search_default_not_opt_out':1}"/> + + <div attrs="{'invisible': [('mailing_model', '<>', 'mail.mass_mailing.contact')]}"> + <label for="contact_list_ids" string="Select mailing lists:" class="oe_edit_only"/> + <field name="contact_list_ids" widget="many2many_tags" + placeholder="Select mailing lists..." class="oe_inline"/> + </div> + </div> + </group> + <notebook> + <page string="Mail Body"> + <field name="body_html" widget="html_frame" options="{'editor_url': '/mass_mailing/field/email_template'}"/> + </page> + <page string="Options"> + <group> + <group string="Mailing"> + <label for="attachment_ids"/> + <div> + <field name="attachment_ids" widget="many2many_binary" string="Attach a file" class="oe_inline"/> + </div> + <field name="keep_archives" groups="base.group_no_one"/> + <label for="reply_to"/> + <div> + <field name="reply_to_mode" widget="radio" + attrs="{'invisible': [('mailing_model', 'in', ['mail.mass_mailing.contact', 'res.partner'])]}"/> + <field name="reply_to" + attrs="{'required': [('reply_to_mode', '=', 'email')]}"/> + </div> + <field name="schedule_date" /> + <field name="create_date" readonly="1" attrs="{'invisible': [('create_date', '=', False)]}"/> + <field name="sent_date" readonly="1" attrs="{'invisible': [('sent_date', '=', False)]}"/> + </group> + <group string="Campaign" groups="mass_mailing.group_mass_mailing_campaign"> + <field name="mass_mailing_campaign_id" string="Campaign"/> + <label for="contact_ab_pc"/> + <div> + <field name="contact_ab_pc" class="oe_inline"/> % + </div> + </group> + </group> + </page> + </notebook> + </sheet> + </form> + </field> + </record> + + <record model="ir.ui.view" id="view_mail_mass_mailing_kanban"> + <field name="name">mail.mass_mailing.kanban</field> + <field name="model">mail.mass_mailing</field> + <field name="arch" type="xml"> + <kanban default_group_by='state'> + <field name='color'/> + <field name='total'/> + <field name='failed'/> + <field name='sent_date'/> + <templates> + <t t-name="kanban-box"> + <div t-attf-class="oe_kanban_color_#{kanban_getcolor(record.color.raw_value)} oe_kanban_card oe_kanban_global_click oe_kanban_mass_mailing"> + <div class="o_dropdown_kanban dropdown"> + + <a class="dropdown-toggle btn" data-toggle="dropdown" href="#" > + <span class="fa fa-bars fa-lg"/> + </a> + <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel"> + <t t-if="widget.deletable"> + <li><a type="delete">Delete</a></li> + </t> + </ul> + </div> + <div class="oe_kanban_content"> + <div class="o_title"> + <h3><field name="name"/></h3> + <div attrs="{'invisible': [('sent_date', '=', False)]}"> + <h4 style="display: inline;"><field name="mass_mailing_campaign_id" groups="mass_mailing.group_mass_mailing_campaign"/></h4> + <t t-if="record.mass_mailing_campaign_id.raw_value" groups="mass_mailing.group_mass_mailing_campaign"> - </t><field name="sent_date"/> + </div> + </div> + <div attrs="{'invisible': [('sent_date', '=', False)]}"> + <t t-if="record.sent_date"> + <div class="row"> + <div class="col-xs-8"> + <a>Opened</a> + </div> + <div class="col-xs-4 text-right"> + <field name="opened_ratio"/> % + </div> + </div> + <div class="row"> + <div class="col-xs-8"> + <a>Replied</a> + </div> + <div class="col-xs-4 text-right"> + <field name="replied_ratio"/> % + </div> + </div> + <div class="row"> + <div class="col-xs-8"> + <a>Clicks</a> + </div> + <div class="col-xs-4 text-right"> + <field name="clicks_ratio"/> % + </div> + </div> + <div class='o_kanban_primary_bottom'> + <field name="delivered" widget="progress" title="Delivered" options="{'current_value': 'delivered', 'max_value': 'total', 'editable': false}"/> + </div> + </t> + </div> + </div> + <div class="oe_clear"></div> + </div> + </t> + </templates> + </kanban> + </field> + </record> + + <record id="view_mail_mass_mailing_graph" model="ir.ui.view"> + <field name="name">mail.mass_mailing.graph</field> + <field name="model">mail.mass_mailing</field> + <field name="arch" type="xml"> + <graph string="Mass Mailing" type="bar"> + <field name="state" type="row"/> + </graph> + </field> + </record> + + <record id="action_view_mass_mailings" model="ir.actions.act_window"> + <field name="name">Mass Mailings</field> + <field name="res_model">mail.mass_mailing</field> + <field name="view_type">form</field> + <field name="view_mode">kanban,tree,form,graph</field> + <field name="help" type="html"> +<p class="oe_view_nocontent_create"> + Click here to create a new mailing. +</p><p> + Mass mailing allows you to to easily design and send mass mailings to your contacts, customers or leads using mailing lists. +</p></field> + </record> + + <record id="action_view_mass_mailings_from_campaign" model="ir.actions.act_window"> + <field name="name">Mass Mailings</field> + <field name="res_model">mail.mass_mailing</field> + <field name="view_type">form</field> + <field name="view_mode">kanban,tree,form</field> + <field name="context">{ + 'search_default_mass_mailing_campaign_id': [active_id], + 'default_mass_mailing_campaign_id': active_id, + } + </field> + <field name="help" type="html"> +<p class="oe_view_nocontent_create"> + Click here to create a new mailing. +</p><p> + Mass mailing allows you to to easily design and send mass mailings to your contacts, customers or leads using mailing lists. +</p></field> + </record> + + <record id="action_create_mass_mailings_from_campaign" model="ir.actions.act_window"> + <field name="name">Mass Mailings</field> + <field name="res_model">mail.mass_mailing</field> + <field name="view_type">form</field> + <field name="view_mode">form,kanban,tree</field> + <field name="context">{ + 'search_default_mass_mailing_campaign_id': [active_id], + 'default_mass_mailing_campaign_id': active_id, + } + </field> + <field name="help" type="html"> +<p class="oe_view_nocontent_create"> + Click here to create a new mailing. +</p><p> + Mass mailing allows you to to easily design and send mass mailings to your contacts, customers or leads using mailing lists. +</p></field> + </record> + + <record id="action_create_ab_mass_mailings_from_campaign" model="ir.actions.act_window"> + <field name="name">Mass Mailings</field> + <field name="res_model">mail.mass_mailing</field> + <field name="view_type">form</field> + <field name="view_mode">form,kanban,tree</field> + <field name="context">{ + 'search_default_mass_mailing_campaign_id': [active_id], + 'default_mass_mailing_campaign_id': active_id, + 'default_contact_ab_pc': 10, + } + </field> + <field name="help" type="html"> +<p class="oe_view_nocontent_create"> + Click here to create a new mailing. +</p><p> + Mass mailing allows you to to easily design and send mass mailings to your contacts, customers or leads using mailing lists. +</p></field> + </record> + + <menuitem name="Mass Mailings" id="menu_email_mass_mailings" + parent="mass_mailing_menu" sequence="2" + action="action_view_mass_mailings"/> + + <!-- MASS MAILING CAMPAIGN STAGE !--> + <record model="ir.ui.view" id="view_mail_mass_mailing_stage_search"> + <field name="name">mail.mass_mailing.stage.search</field> + <field name="model">mail.mass_mailing.stage</field> + <field name="arch" type="xml"> + <search string="Mass Mailings"> + <field name="name"/> + </search> + </field> + </record> + + <record model="ir.ui.view" id="view_mail_mass_mailing_stage_tree"> + <field name="name">mail.mass_mailing.stage.tree</field> + <field name="model">mail.mass_mailing.stage</field> + <field name="priority">10</field> + <field name="arch" type="xml"> + <tree string="Mass Mailings" editable="top"> + <field name="sequence" widget="handle"/> + <field name="name"/> + </tree> + </field> + </record> + <record id="action_view_mass_mailing_stages" model="ir.actions.act_window"> + <field name="name">Mass Mailing Stages</field> + <field name="res_model">mail.mass_mailing.stage</field> + <field name="view_type">form</field> + <field name="view_mode">tree,form</field> + </record> + + <menuitem id="menu_mass_mailing_configuration" name="Configuration" parent="mass_mailing_menu_root" + sequence="100" groups="mass_mailing.group_mass_mailing_user"/> + + <menuitem name="Campaign Stages" id="menu_view_mass_mailing_stages" + parent="menu_mass_mailing_configuration" sequence="1" + groups="mass_mailing.group_mass_mailing_campaign" + action="action_view_mass_mailing_stages"/> + + <!-- MASS MAILING CAMPAIGN TAGS !--> + <record id="mail_mass_mailing_tag_view_form" model="ir.ui.view"> + <field name="name">mail.mass_mailing.tag.form</field> + <field name="model">mail.mass_mailing.tag</field> + <field name="arch" type="xml"> + <form string="Campaign Tags"> + <group> + <field name="name"/> + </group> + </form> + </field> + </record> + <record id="mass_mailing_tag_action" model="ir.actions.act_window"> + <field name="name">Campaign Tags</field> + <field name="res_model">mail.mass_mailing.tag</field> + <field name="view_type">form</field> + <field name="help" type="html"> + <p class="oe_view_nocontent_create"> + Click to add a new tag. + </p> + </field> + </record> + + <menuitem id="mass_mailing_tag_menu" parent="menu_mass_mailing_configuration" action="mass_mailing_tag_action" sequence="2" groups="base.group_no_one"/> + + + <!-- MASS MAILING CAMPAIGNS !--> + <record model="ir.ui.view" id="view_mail_mass_mailing_campaign_search"> + <field name="name">mail.mass_mailing.campaign.search</field> + <field name="model">mail.mass_mailing.campaign</field> + <field name="arch" type="xml"> + <search string="Mass Mailing Campaigns"> + <field name="name" string="Campaigns"/> + <field name="tag_ids"/> + <field name="user_id"/> + <group expand="0" string="Group By"> + <filter string="Stage" name="group_stage_id" + context="{'group_by': 'stage_id'}"/> + <filter string="Responsible" name="group_user_id" + context="{'group_by': 'user_id'}"/> + </group> + </search> + </field> + </record> + + <record model="ir.ui.view" id="view_mail_mass_mailing_campaign_tree"> + <field name="name">mail.mass_mailing.campaign.tree</field> + <field name="model">mail.mass_mailing.campaign</field> + <field name="priority">10</field> + <field name="arch" type="xml"> + <tree string="Mass Mailing Campaigns"> + <field name="name"/> + <field name="user_id"/> + <field name="stage_id"/> + <field name="tag_ids"/> + </tree> + </field> + </record> + + <record model="ir.ui.view" id="view_mail_mass_mailing_campaign_form"> + <field name="name">mail.mass_mailing.campaign.form</field> + <field name="model">mail.mass_mailing.campaign</field> + <field name="arch" type="xml"> + <form string="Mass Mailing Campaign"> + <header style="min-height:31px;"> + <button name="%(action_create_mass_mailings_from_campaign)d" type="action" class="oe_highlight" string="Send new Mass Mailing"/> + <button name="%(action_create_ab_mass_mailings_from_campaign)d" type="action" class="oe_highlight" string="Send new A/B Testing Mass Mailing"/> + <span><field name="stage_id" widget="statusbar" clickable="True"/></span> + </header> + <sheet> + <field name="total" invisible="1"/> + <div class="oe_button_box" name="button_box" + attrs="{'invisible': [('total', '=', 0)]}"> + <button name="%(action_view_mass_mailings_from_campaign)d" + type="action" class="oe_stat_button" icon="fa-envelope-o"> + <field name="total_mailings" widget="statinfo" string="Mailings"/> + </button> + <button name="%(action_view_mail_mail_statistics_mailing)d" type="action" + icon="fa-envelope-o" class="oe_stat_button" + attrs="{'invisible': [('sent', '=', 0)]}" > + <field name="sent" string="Emails Sent" widget="statinfo"/> + </button> + <button name="%(action_view_mass_mailing_contacts)d" + type="action" class="oe_stat_button"> + <field name="received_ratio" widget="percentpie" string="Received"/> + </button> + <button name="%(action_view_mass_mailing_contacts)d" + type="action" class="oe_stat_button"> + <field name="opened_ratio" widget="percentpie" string="Opened"/> + </button> + <button name="%(action_view_mass_mailing_contacts)d" + type="action" class="oe_stat_button"> + <field name="replied_ratio" widget="percentpie" string="Replied"/> + </button> + <button name="%(dropdb snipp)d" + type="action" class="oe_stat_button"> + <field name="clicks_ratio" widget="percentpie" string="Clicks"/> + </button> + </div> + <group> + <field name="name" string="Campaign Name"/> + <field name="user_id"/> + <field name="tag_ids" widget="many2many_tags" options="{'no_create_edit': True}"/> + </group> + <notebook> + <page string="Tracking"> + <group> + <field name="medium_id" /> + <field name="source_id" /> + </group> + </page> + <page string="Related Mailings" groups="base.group_no_one"> + <field name="mass_mailing_ids" readonly="1" string="Related Mailing(s)"> + <tree> + <field name="name"/> + <field name="sent_date"/> + <field name="state"/> + <field name="delivered"/> + <field name="opened"/> + <field name="replied"/> + <field name="bounced"/> + <button name="action_duplicate" type="object" string="Duplicate"/> + </tree> + </field> + </page> + </notebook> + </sheet> + </form> + </field> + </record> + + <record model="ir.ui.view" id="view_mail_mass_mailing_campaign_kanban"> + <field name="name">mail.mass_mailing.campaign.kanban</field> + <field name="model">mail.mass_mailing.campaign</field> + <field name="arch" type="xml"> + <kanban default_group_by='stage_id'> + <field name='total'/> + <field name='color'/> + <field name='user_id'/> + <field name='mass_mailing_ids'/> + <field name="stage_id"/> + <templates> + <t t-name="kanban-box"> + <div t-attf-class="oe_kanban_color_#{kanban_getcolor(record.color.raw_value)} oe_kanban_card oe_kanban_global_click oe_kanban_mass_mailing_campaign"> + <div class="o_dropdown_kanban dropdown"> + + <a class="dropdown-toggle btn" data-toggle="dropdown" href="#" > + <span class="fa fa-bars fa-lg"/> + </a> + <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel"> + <t t-if="widget.editable"> + <li><a type="edit">Settings</a></li> + </t> + <t t-if="widget.deletable"> + <li><a type="delete">Delete</a></li> + </t> + <li><ul class="oe_kanban_colorpicker" data-field="color"/></li> + </ul> + </div> + <div class="oe_kanban_content"> + <div> + <img t-att-src="kanban_image('res.users', 'image_small', record.user_id.raw_value)" + t-att-title="record.user_id.value" width="24" height="24" class="oe_kanban_avatar pull-right"/> + <h3 class="oe_margin_bottom_8"><field name="name"/></h3> + <field name="tag_ids"/> + <a name="%(action_view_mass_mailings_from_campaign)d" type="action" + class="oe_mailings"> + <h4 class="oe_margin_top_8"><t t-raw="record.mass_mailing_ids.raw_value.length"/> Mailings</h4> + </a> + </div> + <div class="oe_clear"></div> + <div> + <div style="display: inline-block"> + <field name="delivered" widget="gauge" style="width:120px; height: 90px;" + options="{'max_field': 'total'}"/> + </div> + <div style="display: inline-block; vertical-align: top;"> + <strong>Opened</strong> <field name="opened_ratio"/> %<br /> + <strong>Replied</strong> <field name="replied_ratio"/> % <br /> + <strong>Clicks</strong> <field name="clicks_ratio"/> % <br /> + </div> + </div> + </div> + <div class="oe_clear"></div> + </div> + </t> + </templates> + </kanban> + </field> + </record> + + <record id="action_view_mass_mailing_campaigns" model="ir.actions.act_window"> + <field name="name">Mass Mailing Campaigns</field> + <field name="res_model">mail.mass_mailing.campaign</field> + <field name="view_type">form</field> + <field name="view_mode">kanban,tree,form</field> + <field name="help" type="html"> + <p class="oe_view_nocontent_create"> + Click to define a new mass mailing campaign. + </p><p> + Create a campaign to structure mass mailing and get analysis from email status. + </p> +</field> + </record> + + <!-- Cron that process the mass mailing queue --> + <record id="ir_cron_mass_mailing_queue" model="ir.cron"> + <field name="name">Process Mass Mailing Queue</field> + <field eval="True" name="active" /> + <field name="user_id" ref="base.user_root" /> + <field name="interval_number">60</field> + <field name="interval_type">minutes</field> + <field name="numbercall">-1</field> + <field eval="False" name="doall" /> + <field name="model">mail.mass_mailing</field> + <field name="function">_process_mass_mailing_queue</field> + <field name="args">()</field> + </record> + + <menuitem name="Campaigns" id="menu_email_campaigns" + parent="mass_mailing_menu_root" sequence="5" + action="action_view_mass_mailing_campaigns" + groups="mass_mailing.group_mass_mailing_campaign"/> + +</odoo> |
