summaryrefslogtreecommitdiff
path: root/addons/mass_mailing/views/mailing_list_views.xml
diff options
context:
space:
mode:
authorThibault Delavallée <tde@odoo.com>2019-07-17 10:58:39 +0000
committerThibault Delavallée <tde@odoo.com>2019-07-17 15:50:33 +0000
commit772e1c0cc4e75cec971d2b4e1c820eb54872dc93 (patch)
tree30126a9fa9acabb9f75ab1d0665428180b9cc444 /addons/mass_mailing/views/mailing_list_views.xml
parent2896aad34e797b6ca65a8efe3c5d71f31500a9a2 (diff)
[REF] mass_mailing: rename mail.mass_mailing.{.contact{_rel}, list{.merge}} models
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.mass_mailing.list and mail.mass_mailing.list to mailing.list and mailing.list.merge. Rename mail.mass_mailing.contact to mailing.contact. Rename mail.mailing_list.list_contact_rel to mailing.contact.subscription. Rationale : * those new names are easier to understand: mailing.list and mailing.contact are less mail-related, especially taking into account that SMS will allow to be less mail-oriented; * those names are easier to read / find / understand; * align wizard and sub-models naming with the main naming; * have a mailing as first part of namespacing; MIGRATION mail.mass_mailing.list model -> mailing.list mail.mass_mailing.list.merge model -> mailing.list.merge mail.mass_mailing.contact model -> mailing.contact mail.mass_mailing.list_contact_rel model -> mailing.contact.subscription mail_mass_mailing_contact_list_rel table -> mailing_contact_list_rel (specific case of a decorated m2m) fields updated (no column change) * mailing.list: subscription_contact_ids -> subscription_ids LINKS Task ID 2037906 Preparing task ID 1997464 (SMS addition in mass mailing) PR #34938
Diffstat (limited to 'addons/mass_mailing/views/mailing_list_views.xml')
-rw-r--r--addons/mass_mailing/views/mailing_list_views.xml167
1 files changed, 167 insertions, 0 deletions
diff --git a/addons/mass_mailing/views/mailing_list_views.xml b/addons/mass_mailing/views/mailing_list_views.xml
new file mode 100644
index 00000000000..597c7b3a9ff
--- /dev/null
+++ b/addons/mass_mailing/views/mailing_list_views.xml
@@ -0,0 +1,167 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+ <!-- MAILING LIST -->
+ <record model="ir.ui.view" id="mailing_list_view_search">
+ <field name="name">mailing.list.view.search</field>
+ <field name="model">mailing.list</field>
+ <field name="arch" type="xml">
+ <search string="Mailing Lists">
+ <field name="name"/>
+ <field name="create_date"/>
+ <field name="is_public"/>
+ <filter name="inactive" string="Archived" domain="[('active','=',False)]"/>
+ <group expand="0" string="Group By">
+ <filter string="Creation Period" name="group_create_date"
+ context="{'group_by': 'create_date'}"/>
+ </group>
+ </search>
+ </field>
+ </record>
+
+ <record model="ir.ui.view" id="mailing_list_view_tree">
+ <field name="name">mailing.list.view.tree</field>
+ <field name="model">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="is_public"/>
+ <field name="contact_nbr"/>
+ </tree>
+ </field>
+ </record>
+
+ <record model="ir.ui.view" id="mailing_list_view_form">
+ <field name="name">mailing.list.form</field>
+ <field name="model">mailing.list</field>
+ <field name="arch" type="xml">
+ <form string="Contact List">
+ <sheet>
+ <widget name="web_ribbon" text="Archived" bg_color="bg-danger" attrs="{'invisible': [('active', '=', True)]}"/>
+ <div class="oe_button_box" name="button_box">
+ <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>
+ <group>
+ <field name="active" invisible="1"/>
+ <field name="is_public"/>
+ </group>
+ </sheet>
+ </form>
+ </field>
+ </record>
+
+ <record id="mailing_list_view_form_simplified" model="ir.ui.view">
+ <field name="name">mailing.list.form.simplified</field>
+ <field name="model">mailing.list</field>
+ <field name="arch" type="xml">
+ <form string="Contact List">
+ <group>
+ <group>
+ <div class="oe_title">
+ <label for="name" class="oe_edit_only"/>
+ <h1>
+ <field name="name" placeholder="e.g. Consumer Newsletter"/>
+ </h1>
+ </div>
+ </group>
+ </group>
+ <group>
+ <field name="is_public"/>
+ </group>
+ <footer>
+ <button string="Create" name="close_dialog" type="object" class="btn-primary"/>
+ <button string="Discard" class="btn-secondary" special="cancel"/>
+ </footer>
+ </form>
+ </field>
+ </record>
+
+ <record id="open_create_mass_mailing_list" model="ir.actions.act_window">
+ <field name="name">Create a Mass Mailing List</field>
+ <field name="res_model">mailing.list</field>
+ <field name="view_mode">form</field>
+ <field name="view_id" ref="mailing_list_view_form_simplified"/>
+ <field name="target">new</field>
+ </record>
+
+ <record id="mailing_list_view_kanban" model="ir.ui.view">
+ <field name="name">mailing.list.view.kanban</field>
+ <field name="model">mailing.list</field>
+ <field name="arch" type="xml">
+ <kanban js_class="mass_mailing_list_kanban" class="o_kanban_mobile" on_create="mass_mailing.open_create_mass_mailing_list">
+ <field name="name"/>
+ <field name="contact_nbr"/>
+ <field name="active"/>
+ <templates>
+ <t t-name="kanban-box">
+ <div t-attf-class="oe_kanban_global_click">
+ <div class="o_mass_mailing_kanban_main">
+ <div class="o_kanban_card_content">
+ <div class="o_kanban_primary_left">
+ <div class="o_primary">
+ <span><t t-esc="record.name.value"/></span>
+ </div>
+ </div>
+ </div>
+ <div class="o_kanban_card_manage_pane">
+ <div class="o_kanban_card_manage_section o_dropdown_kanban dropdown">
+ <a role="button" class="dropdown-toggle o-no-caret btn" data-toggle="dropdown" href="#" aria-label="Dropdown menu" title="Dropdown menu">
+ <span class="fa fa-ellipsis-v"/>
+ </a>
+ <div class="dropdown-menu" role="menu">
+ <a t-if="widget.editable" role="menuitem" type="edit" class="dropdown-item">Edit</a>
+ <a t-if="widget.deletable" role="menuitem" type="delete" class="dropdown-item">Delete</a>
+ <a role="menuitem" class="dropdown-item o_kanban_mailing_active" name="toggle_active" type="object">
+ <t t-if="record.active.raw_value">Archive</t>
+ <t t-if="!record.active.raw_value">Restore</t>
+ </a>
+ <ul class="oe_kanban_colorpicker" data-field="color"/>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="o_mailing_list_kanban_boxes">
+ <a class="o_project_kanban_box" name="%(action_view_mass_mailing_contacts_from_list)d" type="action">
+ <div>
+ <span class="badge badge-pill">
+ <i class="fa fa-user" role="img" aria-label="Contacts" title="Contacts"/>
+ <t t-esc="record.contact_nbr.value"/>
+ </span>
+ </div>
+ </a>
+ </div>
+ </div>
+ </t>
+ </templates>
+ </kanban>
+ </field>
+ </record>
+
+ <record model="ir.actions.act_window" id="action_view_mass_mailing_lists">
+ <field name="name">Mailing Lists</field>
+ <field name="res_model">mailing.list</field>
+ <field name="view_mode">kanban,tree,form</field>
+ <field name="help" type="html">
+ <p class="o_view_nocontent_smiling_face">
+ Create a new mailing list
+ </p><p>
+ You don't need to import your mailing lists, you can easily
+ send emails<br/> to any contact saved in other Odoo apps.
+ </p>
+ </field>
+ </record>
+
+ <menuitem name="Mailing Lists" id="menu_email_mass_mailing_lists"
+ parent="mass_mailing_mailing_list_menu" sequence="3"
+ action="action_view_mass_mailing_lists"/>
+</odoo>