4 <template id="assets_backend" name="mass_mailing assets" inherit_id="web.assets_backend">
5 <xpath expr="." position="inside">
6 <link rel="stylesheet" href="/mass_mailing/static/src/css/mass_mailing.css"/>
7 <link rel="stylesheet" href="/mass_mailing/static/src/css/email_template.css"/>
8 <script type="text/javascript" src="/mass_mailing/static/src/js/mass_mailing.js"></script>
12 <!-- Marketing / Mass Mailing -->
13 <menuitem name="Mass Mailing" id="mass_mailing_campaign"
14 parent="base.marketing_menu" sequence="1"/>
15 <!-- Marketing / Mailing Lists -->
16 <menuitem name="Mailing Lists" id="mass_mailing_list"
17 parent="base.marketing_menu" sequence="2"/>
18 <!-- Marketing / Configuration -->
19 <menuitem name="Configuration" id="marketing_configuration"
20 parent="base.marketing_menu" sequence="99"/>
22 <!-- MAIL MAIL STATISTICS !-->
23 <record model="ir.ui.view" id="view_mail_mail_statistics_search">
24 <field name="name">mail.mail.statistics.search</field>
25 <field name="model">mail.mail.statistics</field>
26 <field name="arch" type="xml">
27 <search string="Mail Statistics">
28 <field name="mail_mail_id_int"/>
29 <field name="message_id"/>
30 <field name="mass_mailing_id"/>
35 <record model="ir.ui.view" id="view_mail_mail_statistics_tree">
36 <field name="name">mail.mail.statistics.tree</field>
37 <field name="model">mail.mail.statistics</field>
38 <field name="arch" type="xml">
39 <tree string="Mail Statistics">
40 <field name="mail_mail_id_int"/>
41 <field name="message_id"/>
43 <field name="exception"/>
44 <field name="opened"/>
45 <field name="replied"/>
46 <field name="bounced"/>
51 <record model="ir.ui.view" id="view_mail_mail_statistics_form">
52 <field name="name">mail.mail.statistics.form</field>
53 <field name="model">mail.mail.statistics</field>
54 <field name="arch" type="xml">
55 <form string="Mail Statistics">
58 <field name="mail_mail_id"/>
59 <field name="mail_mail_id_int"/>
60 <field name="message_id"/>
61 <field name="exception"/>
63 <field name="opened"/>
64 <field name="replied"/>
65 <field name="bounced"/>
68 <field name="mass_mailing_id"/>
69 <field name="mass_mailing_campaign_id"/>
71 <field name="res_id"/>
78 <record id="action_view_mail_mail_statistics" model="ir.actions.act_window">
79 <field name="name">Mail Statistics</field>
80 <field name="res_model">mail.mail.statistics</field>
81 <field name="view_type">form</field>
82 <field name="view_mode">tree,form</field>
85 <record id="action_view_mail_mail_statistics_mailing" model="ir.actions.act_window">
86 <field name="name">Mail Statistics</field>
87 <field name="res_model">mail.mail.statistics</field>
88 <field name="view_type">form</field>
89 <field name="view_mode">tree,form</field>
90 <field name="context">{'search_default_mass_mailing_id': active_id}</field>
93 <!-- Add in Technical/Email -->
94 <menuitem name="Mail Statistics" id="menu_email_statistics"
95 parent="base.menu_email" sequence="50"
96 action="action_view_mail_mail_statistics"/>
98 <!-- MASS MAILING CONTACT -->
99 <record model="ir.ui.view" id="view_mail_mass_mailing_contact_search">
100 <field name="name">mail.mass_mailing.contact.search</field>
101 <field name="model">mail.mass_mailing.contact</field>
102 <field name="arch" type="xml">
103 <search string="Mailing Lists Subscribers">
105 <field name="email"/>
106 <field name="list_id"/>
108 <filter string="Exclude Opt Out" name="not_opt_out" domain="[('opt_out', '=', False)]"/>
109 <group expand="0" string="Group By">
110 <filter string="Creation Date" name="group_create_date"
111 context="{'group_by': 'create_date'}"/>
112 <filter string="Mailing Lists" name="group_list_id"
113 context="{'group_by': 'list_id'}"/>
119 <record model="ir.ui.view" id="view_mail_mass_mailing_contact_tree">
120 <field name="name">mail.mass_mailing.contact.tree</field>
121 <field name="model">mail.mass_mailing.contact</field>
122 <field name="priority">10</field>
123 <field name="arch" type="xml">
124 <tree string="Mailing Lists Subscribers" editable="top">
125 <field name="email"/>
127 <field name="list_id"/>
128 <field name="opt_out"/>
133 <record model="ir.actions.act_window" id="action_view_mass_mailing_contacts">
134 <field name="name">Mailing List Subscribers</field>
135 <field name="res_model">mail.mass_mailing.contact</field>
136 <field name="view_type">form</field>
137 <field name="view_mode">tree</field>
138 <field name="context">{'search_default_not_opt_out': 1}</field>
141 <record model="ir.actions.act_window" id="action_view_mass_mailing_contacts_from_list">
142 <field name="name">Recipients</field>
143 <field name="res_model">mail.mass_mailing.contact</field>
144 <field name="view_type">form</field>
145 <field name="view_mode">tree</field>
146 <field name="context">{'search_default_list_id': active_id, 'search_default_not_opt_out': 1}</field>
147 <field name="help" type="html">
148 <p class="oe_view_nocontent_create">
149 Click to create a recipient.
154 <menuitem name="Contacts" id="menu_email_mass_mailing_contacts"
155 parent="mass_mailing_list" sequence="50"
156 action="action_view_mass_mailing_contacts"/>
158 <!-- MASS MAILING LIST -->
159 <record model="ir.ui.view" id="view_mail_mass_mailing_list_search">
160 <field name="name">mail.mass_mailing.list.search</field>
161 <field name="model">mail.mass_mailing.list</field>
162 <field name="arch" type="xml">
163 <search string="Mailing Lists">
169 <record model="ir.ui.view" id="view_mail_mass_mailing_list_tree">
170 <field name="name">mail.mass_mailing.list.tree</field>
171 <field name="model">mail.mass_mailing.list</field>
172 <field name="priority">10</field>
173 <field name="arch" type="xml">
174 <tree string="Mailing Lists">
176 <field name="contact_nbr"/>
181 <record model="ir.ui.view" id="view_mail_mass_mailing_list_form">
182 <field name="name">mail.mass_mailing.list.form</field>
183 <field name="model">mail.mass_mailing.list</field>
184 <field name="arch" type="xml">
185 <form string="Contact List">
187 <div class="oe_right oe_button_box" name="buttons">
188 <button name="%(mass_mailing.action_view_mass_mailing_contacts_from_list)d"
189 type="action" icon="fa-user" class="oe_stat_button pull-right">
190 <field name="contact_nbr" string="Recipients" widget="statinfo"/>
193 <div class="oe_title">
194 <label for="name" class="oe_edit_only"/>
204 <record model="ir.actions.act_window" id="action_view_mass_mailing_lists">
205 <field name="name">Contact Lists</field>
206 <field name="res_model">mail.mass_mailing.list</field>
207 <field name="view_type">form</field>
208 <field name="view_mode">tree,form</field>
209 <field name="help" type="html">
210 <p class="oe_view_nocontent_create">
211 Click here to create a new mailing list.
213 Mailing lists allows you to to manage customers and
214 contacts easily and to send to mailings in a single click.
218 <menuitem name="Mailing Lists" id="menu_email_mass_mailing_lists"
219 parent="mass_mailing_list" sequence="40"
220 action="action_view_mass_mailing_lists"/>
222 <!-- MASS MAILING !-->
223 <record model="ir.ui.view" id="view_mail_mass_mailing_search">
224 <field name="name">mail.mass_mailing.search</field>
225 <field name="model">mail.mass_mailing</field>
226 <field name="arch" type="xml">
227 <search string="Mass Mailings">
228 <field name="name" string="Mailings"/>
229 <field name="mass_mailing_campaign_id"/>
230 <group expand="0" string="Group By">
231 <filter string="Campaign" name="group_mass_mailing_campaign_id"
232 groups="mass_mailing.group_mass_mailing_campaign"
233 context="{'group_by': 'mass_mailing_campaign_id'}"/>
234 <filter string="State" name="group_state"
235 context="{'group_by': 'state'}"/>
236 <filter string="Sent By" domain="[]"
237 context="{'group_by':'email_from'}"/>
239 <filter string="Sent Month"
240 domain="[]" context="{'group_by':'sent_date:month'}"/>
246 <record model="ir.ui.view" id="view_mail_mass_mailing_tree">
247 <field name="name">mail.mass_mailing.tree</field>
248 <field name="model">mail.mass_mailing</field>
249 <field name="priority">10</field>
250 <field name="arch" type="xml">
251 <tree string="Mass Mailings">
254 <field name="delivered"/>
255 <field name="opened"/>
256 <field name="replied"/>
257 <field name="mass_mailing_campaign_id"
258 groups="mass_mailing.group_mass_mailing_campaign"/>
263 <record model="ir.ui.view" id="view_mail_mass_mailing_form">
264 <field name="name">mail.mass_mailing.form</field>
265 <field name="model">mail.mass_mailing</field>
266 <field name="arch" type="xml">
267 <form string="Mass Mailing">
269 <button name="action_test_mailing" type="object"
270 class="oe_highlight" string="Test Mailing"
271 attrs="{'invisible': ['|', ('state', '!=', 'draft'), ('body_html', '=', False)]}"/>
272 <button name="action_test_mailing" type="object"
273 attrs="{'invisible': ['&', ('state', '=', 'draft'), ('body_html', '!=', False)]}"
274 string="Test Mailing"/>
275 <button name="send_mail" type="object"
276 attrs="{'invisible': ['|', ('state', '=', 'done'), ('body_html', '=', False)]}"
277 class="oe_highlight" string="Send to All"/>
278 <button name="send_mail" type="object"
279 attrs="{'invisible': ['&', ('state', '!=', 'done'), ('body_html', '!=', False)]}"
280 string="Send to All"/>
281 <field name="state" widget="statusbar"/>
283 <div class="oe_form_box_info oe_text_center" attrs="{'invisible': [('scheduled', '=', 0)]}">
285 <field name="scheduled" class="oe_inline"/>
286 emails are in queue and will be sent soon.
290 <div class="oe_button_box pull-right" attrs="{'invisible': [('state', 'in', ('draft','test'))]}">
291 <button name="%(action_view_mail_mail_statistics_mailing)d"
292 type="action" class="oe_stat_button">
293 <field name="received_ratio" string="Received" widget="percentpie"/>
295 <button name="%(action_view_mail_mail_statistics_mailing)d"
296 type="action" class="oe_stat_button">
297 <field name="opened_ratio" string="Opened" widget="percentpie"/>
299 <button name="%(action_view_mail_mail_statistics_mailing)d"
300 type="action" class="oe_stat_button">
301 <field name="replied_ratio" string="Replied" widget="percentpie"/>
303 <button name="%(action_view_mail_mail_statistics_mailing)d"
304 type="action" class="oe_stat_button oe_inline">
305 <field name="opened_daily" string="Opened Daily" widget="barchart"/>
307 <button name="%(action_view_mail_mail_statistics_mailing)d"
308 type="action" class="oe_stat_button oe_inline">
309 <field name="replied_daily" string="Replied Daily" widget="barchart"/>
312 <button name="%(action_view_mail_mail_statistics_mailing)d" type="action"
313 icon="fa-envelope-o" class="oe_stat_button"
314 attrs="{'invisible': [('total', '=', 0)]}" >
315 <field name="total" string="Emails" widget="statinfo"/>
319 <field name="email_from"/>
321 <label for="mailing_model" string="Recipients"/>
323 <field name="mailing_model" widget="radio" style="margin-bottom: 8px"
324 on_change="on_change_model_and_list(mailing_model, contact_list_ids)"/>
326 <field name="mailing_domain" widget="char_domain"
327 placeholder="Select recipients"
328 options="{'model_field': 'mailing_model'}"/>
330 <div attrs="{'invisible': [('mailing_model', '<>', 'mail.mass_mailing.contact')]}">
331 <label for="contact_list_ids" string="Select mailing lists:" class="oe_edit_only"/>
332 <field name="contact_list_ids" widget="many2many_tags"
333 placeholder="Select mailing lists..." class="oe_inline"
334 on_change="on_change_model_and_list(mailing_model, contact_list_ids)"/>
339 <page string="Mail Body">
340 <button name="action_edit_html" type="object" string="Design Email" class="oe_highlight"
341 attrs="{'invisible': [('body_html', '!=', False)]}"/>
342 <button name="action_edit_html" type="object" string="Change Email Design"
343 attrs="{'invisible': [('body_html', '=', False)]}"/>
344 <div attrs="{'invisible' : ['|', ('state', '=', 'done'), ('body_html','!=',False)]}" class="oe_view_nocontent oe_clear">
345 <p class="oe_view_nocontent_create oe_edit_only">
346 Click to design your email.
349 <field name="body_html" readonly="1"/>
350 <field name="attachment_ids" widget="many2many_binary" string="Attach a file"/>
352 <page string="Options">
354 <group string="Mailing">
355 <label for="reply_to"/>
357 <p class="alert alert-danger"
358 attrs="{'invisible': ['|', ('reply_to_mode', '!=', 'thread'), ('mailing_model', 'not in', ['mail.mass_mailing.contact', 'res.partner'])]}">
359 This option is not available for the recipients you selected.
360 Please use a specific reply-to email address.
362 <field name="reply_to_mode" widget="radio"/>
363 <field name="reply_to" style="margin-left: 16px;"
364 attrs="{'required': [('reply_to_mode', '=', 'email')]}"/>
366 <field name="create_date" readonly="1"/>
367 <field name="sent_date" readonly="1"/>
369 <group string="Campaign">
370 <field name="mass_mailing_campaign_id" groups="mass_mailing.group_mass_mailing_campaign"/>
371 <label for="contact_ab_pc"/>
373 <field name="contact_ab_pc" class="oe_inline"/> %
384 <record model="ir.ui.view" id="view_mail_mass_mailing_kanban">
385 <field name="name">mail.mass_mailing.kanban</field>
386 <field name="model">mail.mass_mailing</field>
387 <field name="arch" type="xml">
388 <kanban default_group_by='state'>
389 <field name='color'/>
390 <field name='total'/>
392 <t t-name="kanban-box">
393 <div t-attf-class="oe_kanban_color_#{kanban_getcolor(record.color.raw_value)} oe_kanban_card oe_kanban_global_click oe_kanban_mass_mailing">
394 <div class="oe_dropdown_toggle oe_dropdown_kanban">
395 <span class="oe_e">i</span>
396 <ul class="oe_dropdown_menu">
397 <t t-if="widget.view.is_action_enabled('delete')">
398 <li><a type="delete">Delete</a></li>
402 <div class="oe_kanban_content">
404 <h3><field name="name"/></h3>
405 <h4 style="display: inline;"><field name="mass_mailing_campaign_id" groups="mass_mailing.group_mass_mailing_campaign"/></h4>
406 <t t-if="record.mass_mailing_campaign_id.raw_value" groups="mass_mailing.group_mass_mailing_campaign"> - </t><field name="sent_date"/>
409 <div style="display: inline-block">
410 <field name="delivered" widget="gauge" style="width:120px; height: 90px;"
411 options="{'max_field': 'total'}"/>
413 <div style="display: inline-block; vertical-align: top;">
414 <strong>Opened</strong> <field name="opened_ratio"/> %<br />
415 <strong>Replied</strong> <field name="replied_ratio"/> %
419 <div class="oe_clear"></div>
427 <record id="view_mail_mass_mailing_graph" model="ir.ui.view">
428 <field name="name">mail.mass_mailing.graph</field>
429 <field name="model">mail.mass_mailing</field>
430 <field name="arch" type="xml">
431 <graph string="Mass Mailing" type="bar" stacked="True">
432 <field name="mass_mailing_campaign_id" type="row"/>
433 <field name="sent_date" interval="month" type="col"/>
438 <record id="action_view_mass_mailings" model="ir.actions.act_window">
439 <field name="name">Mass Mailings</field>
440 <field name="res_model">mail.mass_mailing</field>
441 <field name="view_type">form</field>
442 <field name="view_mode">kanban,tree,form</field>
443 <field name="help" type="html">
444 <p class="oe_view_nocontent_create">
445 Click here to create a new mailing.
447 Mass mailing allows you to to easily design and send mass mailings to your contacts, customers or leads using mailing lists.
451 <record id="action_view_mass_mailings_from_campaign" model="ir.actions.act_window">
452 <field name="name">Mass Mailings</field>
453 <field name="res_model">mail.mass_mailing</field>
454 <field name="view_type">form</field>
455 <field name="view_mode">kanban,tree,form</field>
456 <field name="context">{
457 'search_default_mass_mailing_campaign_id': [active_id],
458 'default_mass_mailing_campaign_id': active_id,
461 <field name="help" type="html">
462 <p class="oe_view_nocontent_create">
463 Click here to create a new mailing.
465 Mass mailing allows you to to easily design and send mass mailings to your contacts, customers or leads using mailing lists.
469 <menuitem name="Mass Mailings" id="menu_email_mass_mailings"
470 parent="mass_mailing_campaign" sequence="2"
471 action="action_view_mass_mailings"/>
473 <!-- MASS MAILING CAMPAIGN STAGE !-->
474 <record model="ir.ui.view" id="view_mail_mass_mailing_stage_search">
475 <field name="name">mail.mass_mailing.stage.search</field>
476 <field name="model">mail.mass_mailing.stage</field>
477 <field name="arch" type="xml">
478 <search string="Mass Mailings">
484 <record model="ir.ui.view" id="view_mail_mass_mailing_stage_tree">
485 <field name="name">mail.mass_mailing.stage.tree</field>
486 <field name="model">mail.mass_mailing.stage</field>
487 <field name="priority">10</field>
488 <field name="arch" type="xml">
489 <tree string="Mass Mailings" editable="top">
490 <field name="sequence" widget="handle"/>
495 <record id="action_view_mass_mailing_stages" model="ir.actions.act_window">
496 <field name="name">Mass Mailing Stages</field>
497 <field name="res_model">mail.mass_mailing.stage</field>
498 <field name="view_type">form</field>
499 <field name="view_mode">tree,form</field>
502 <menuitem name="Campaign Stages" id="menu_view_mass_mailing_stages"
503 parent="marketing_configuration" sequence="1"
504 groups="mass_mailing.group_mass_mailing_campaign"
505 action="action_view_mass_mailing_stages"/>
507 <!-- MASS MAILING CAMPAIGNS !-->
508 <record model="ir.ui.view" id="view_mail_mass_mailing_campaign_search">
509 <field name="name">mail.mass_mailing.campaign.search</field>
510 <field name="model">mail.mass_mailing.campaign</field>
511 <field name="arch" type="xml">
512 <search string="Mass Mailing Campaigns">
513 <field name="name" string="Campaigns"/>
514 <field name="category_ids"/>
515 <field name="user_id"/>
516 <group expand="0" string="Group By">
517 <filter string="Stage" name="group_stage_id"
518 context="{'group_by': 'stage_id'}"/>
519 <filter string="Responsible" name="group_user_id"
520 context="{'group_by': 'user_id'}"/>
526 <record model="ir.ui.view" id="view_mail_mass_mailing_campaign_tree">
527 <field name="name">mail.mass_mailing.campaign.tree</field>
528 <field name="model">mail.mass_mailing.campaign</field>
529 <field name="priority">10</field>
530 <field name="arch" type="xml">
531 <tree string="Mass Mailing Campaigns">
533 <field name="user_id"/>
534 <field name="stage_id"/>
535 <field name="category_ids"/>
540 <record model="ir.ui.view" id="view_mail_mass_mailing_campaign_form">
541 <field name="name">mail.mass_mailing.campaign.form</field>
542 <field name="model">mail.mass_mailing.campaign</field>
543 <field name="arch" type="xml">
544 <form string="Mass Mailing Campaign">
546 <field name="stage_id" widget="statusbar" clickable="True"/>
552 <field name="user_id"/>
553 <field name="category_ids" widget="many2many_tags"/>
556 <field name="total" invisible="1"/>
557 <div class="oe_right oe_button_box" name="buttons"
558 attrs="{'invisible': [('total', '=', 0)]}">
559 <button name="%(action_view_mass_mailing_contacts)d"
560 type="action" class="oe_stat_button oe_inline">
561 <field name="received_ratio" widget="percentpie" string="Received"/>
563 <button name="%(action_view_mass_mailing_contacts)d"
564 type="action" class="oe_stat_button oe_inline">
565 <field name="opened_ratio" widget="percentpie" string="Opened"/>
567 <button name="%(action_view_mass_mailing_contacts)d"
568 type="action" class="oe_stat_button oe_inline">
569 <field name="replied_ratio" widget="percentpie" string="Replied"/>
574 <strong>Related Mailing(s)</strong>
575 <field name="mass_mailing_ids" readonly="1" string="Related Mailing(s)">
578 <field name="sent_date"/>
579 <field name="state"/>
580 <field name="delivered"/>
581 <field name="opened"/>
582 <field name="replied"/>
583 <field name="bounced"/>
584 <button name="action_duplicate" type="object" string="Duplicate"/>
592 <record model="ir.ui.view" id="view_mail_mass_mailing_campaign_kanban">
593 <field name="name">mail.mass_mailing.campaign.kanban</field>
594 <field name="model">mail.mass_mailing.campaign</field>
595 <field name="arch" type="xml">
596 <kanban default_group_by='stage_id'>
597 <field name='total'/>
598 <field name='color'/>
599 <field name='user_id'/>
600 <field name='mass_mailing_ids'/>
602 <t t-name="kanban-box">
603 <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">
604 <div class="oe_dropdown_toggle oe_dropdown_kanban">
605 <span class="oe_e">i</span>
606 <ul class="oe_dropdown_menu">
607 <t t-if="widget.view.is_action_enabled('edit')">
608 <li><a type="edit">Settings</a></li>
610 <t t-if="widget.view.is_action_enabled('delete')">
611 <li><a type="delete">Delete</a></li>
613 <li><ul class="oe_kanban_colorpicker" data-field="color"/></li>
616 <div class="oe_kanban_content">
618 <img t-att-src="kanban_image('res.users', 'image_small', record.user_id.raw_value)"
619 t-att-title="record.user_id.value" width="24" height="24" class="oe_kanban_avatar oe_kanban_header_right"/>
620 <h3 style="margin-bottom: 8px;"><field name="name"/></h3>
621 <field name="category_ids"/>
622 <a name="%(action_view_mass_mailings_from_campaign)d" type="action"
624 <h4 style="margin-top: 8px;"><t t-raw="record.mass_mailing_ids.raw_value.length"/> Mailings</h4>
627 <div class="oe_clear"></div>
629 <div style="display: inline-block">
630 <field name="delivered" widget="gauge" style="width:120px; height: 90px;"
631 options="{'max_field': 'total'}"/>
633 <div style="display: inline-block; vertical-align: top;">
634 <strong>Opened</strong> <field name="opened_ratio"/> %<br />
635 <strong>Replied</strong> <field name="replied_ratio"/> %
639 <div class="oe_clear"></div>
647 <record id="action_view_mass_mailing_campaigns" model="ir.actions.act_window">
648 <field name="name">Mass Mailing Campaigns</field>
649 <field name="res_model">mail.mass_mailing.campaign</field>
650 <field name="view_type">form</field>
651 <field name="view_mode">kanban,tree,form</field>
652 <field name="help" type="html">
653 <p class="oe_view_nocontent_create">
654 Click to define a new mass mailing campaign.
656 Create a campaign to structure mass mailing and get analysis from email status.
661 <menuitem name="Campaigns" id="menu_email_campaigns"
662 parent="mass_mailing_campaign" sequence="1"
663 action="action_view_mass_mailing_campaigns"
664 groups="mass_mailing.group_mass_mailing_campaign"/>