276 lines
16 KiB
XML
276 lines
16 KiB
XML
|
<?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"/>
|
||
|
<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" sample="1">
|
||
|
<field name="name"/>
|
||
|
<field name="is_public"/>
|
||
|
<field name="mailing_count" string="Mailings"/>
|
||
|
<field name="contact_pct_bounce" string="Bounce (%)"/>
|
||
|
<field name="contact_pct_opt_out" string="Opt-out (%)"/>
|
||
|
<field name="contact_pct_blacklisted" string="Blacklist (%s)"/>
|
||
|
<field name="contact_count" string="Recipients"/>
|
||
|
</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">
|
||
|
<header>
|
||
|
<button name="action_send_mailing" string="Send Mailing"
|
||
|
type="object" class="btn btn-primary"/>
|
||
|
</header>
|
||
|
<sheet>
|
||
|
<div class="oe_button_box" name="button_box">
|
||
|
<button name="action_view_contacts"
|
||
|
type="object" icon="fa-user" class="oe_stat_button">
|
||
|
<field name="contact_count" string="Recipients" widget="statinfo"/>
|
||
|
</button>
|
||
|
<button name="action_view_mailings"
|
||
|
type="object" icon="fa-envelope-o" class="oe_stat_button">
|
||
|
<field name="mailing_count" string="Mailings" widget="statinfo"/>
|
||
|
</button>
|
||
|
<button name="action_view_contacts_bouncing"
|
||
|
type="object" icon="fa-exchange" class="oe_stat_button">
|
||
|
<field name="contact_pct_bounce" widget="statinfo" string="% Bounce"/>
|
||
|
</button>
|
||
|
<button name="action_view_contacts_opt_out"
|
||
|
type="object" icon="fa-bell-slash-o" class="oe_stat_button">
|
||
|
<field name="contact_pct_opt_out" widget="statinfo" string="% Opt-out"/>
|
||
|
</button>
|
||
|
<button name="action_view_contacts_blacklisted"
|
||
|
type="object" icon="fa-ban" class="oe_stat_button">
|
||
|
<field name="contact_pct_blacklisted" widget="statinfo" string="% Blacklist"/>
|
||
|
</button>
|
||
|
</div>
|
||
|
<widget name="web_ribbon" title="Archived" bg_color="text-bg-danger" invisible="active"/>
|
||
|
<div class="oe_title">
|
||
|
<label for="name"/>
|
||
|
<h1>
|
||
|
<field name="name" class="text-break" 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="priority" eval="25"/>
|
||
|
<field name="arch" type="xml">
|
||
|
<form string="Contact List">
|
||
|
<group>
|
||
|
<group>
|
||
|
<div class="oe_title">
|
||
|
<label for="name"/>
|
||
|
<h1>
|
||
|
<field name="name" placeholder="e.g. Consumer Newsletter"/>
|
||
|
</h1>
|
||
|
</div>
|
||
|
</group>
|
||
|
</group>
|
||
|
<group>
|
||
|
<field name="is_public"/>
|
||
|
</group>
|
||
|
</form>
|
||
|
</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 class="o_kanban_mobile o_kanban_mailing_list" sample="1">
|
||
|
<field name="name"/>
|
||
|
<field name="contact_count"/>
|
||
|
<field name="contact_count_email"/>
|
||
|
<field name="contact_count_opt_out"/>
|
||
|
<field name="contact_count_blacklisted"/>
|
||
|
<field name="contact_pct_bounce"/>
|
||
|
<field name="contact_pct_opt_out"/>
|
||
|
<field name="contact_pct_blacklisted"/>
|
||
|
<field name="active"/>
|
||
|
<templates>
|
||
|
<t t-name="kanban-box">
|
||
|
<!-- Card when the Kanban view is grouped -->
|
||
|
<div class="oe_kanban_global_click o_mailing_list_kanban_grouped">
|
||
|
<div class="oe_kanban_content d-flex flex-column h-100">
|
||
|
<h2 class="mb-3 o_text_overflow">
|
||
|
<field name="name"/>
|
||
|
</h2>
|
||
|
<div class="d-flex align-items-center">
|
||
|
<div class="me-3">
|
||
|
<button class="btn btn-primary" name="action_view_contacts" type="object">
|
||
|
<t t-esc="record.contact_count.value"/> <span>Contacts</span>
|
||
|
</button>
|
||
|
</div>
|
||
|
<div class="flex-grow-1 d-flex flex-column align-items-end o_mass_mailing_kanban_contact_links">
|
||
|
<a name="action_view_contacts_email" type="object">
|
||
|
<span>Valid Email Recipients</span>
|
||
|
<span t-esc="record.contact_count_email.value" class="ms-3"/>
|
||
|
</a>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="flex-grow-1 d-flex align-items-end mt-4">
|
||
|
<div class="col-12">
|
||
|
<div class="row mt3">
|
||
|
<div class="col-3 border-end">
|
||
|
<a name="action_view_mailings" type="object" class="d-flex flex-column align-items-center">
|
||
|
<span><field name="mailing_count"/></span>
|
||
|
<span class="text-muted">Mailings</span>
|
||
|
</a>
|
||
|
</div>
|
||
|
<div class="col-3 border-end">
|
||
|
<a name="action_view_contacts_bouncing" type="object" class="d-flex flex-column align-items-center">
|
||
|
<span><field name="contact_pct_bounce"/>%</span>
|
||
|
<span class="text-muted">Bounce</span>
|
||
|
</a>
|
||
|
</div>
|
||
|
<div class="col-3 border-end">
|
||
|
<a name="action_view_contacts_opt_out" type="object" class="d-flex flex-column align-items-center">
|
||
|
<span><field name="contact_pct_opt_out"/>%</span>
|
||
|
<span class="text-muted">Opt-out</span>
|
||
|
</a>
|
||
|
</div>
|
||
|
<div class="col-3">
|
||
|
<a name="action_view_contacts_blacklisted" type="object" class="d-flex flex-column align-items-center">
|
||
|
<span><field name="contact_pct_blacklisted"/>%</span>
|
||
|
<span class="text-muted">Blacklist</span>
|
||
|
</a>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<!-- Card when the Kanban view is not grouped -->
|
||
|
<div class="oe_kanban_global_click o_mailing_list_kanban_ungrouped d-flex gap-1 flex-row justify-content-between align-items-center flex-wrap">
|
||
|
<div class="col-lg-3 col-sm-6 col-12 py-0 my-auto">
|
||
|
<div class="d-flex text-large">
|
||
|
<span class="d-inline-block text-truncate fw-normal text-large"
|
||
|
t-att-title="record.name.value">
|
||
|
<field name="name"/>
|
||
|
</span>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="o_mailing_list_kanban_counts col-lg-1 col-6 my-auto d-flex">
|
||
|
<div class="d-flex flex-row justify-content-start justify-content-md-end">
|
||
|
<div class="my-auto p-0">
|
||
|
<button name="action_view_contacts" type="object"
|
||
|
class="o_mailing_list_kanban_button o_mailing_list_kanban_big_nb text-primary fw-bold">
|
||
|
<field name="contact_count"/>
|
||
|
</button>
|
||
|
</div>
|
||
|
<div class="my-auto px-0">
|
||
|
<button name="action_view_contacts" type="object"
|
||
|
class="o_mailing_list_kanban_button text-large text-start ms-2">
|
||
|
Total <br/>Contacts
|
||
|
</button>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="o_mailing_list_kanban_stats order-4 order-lg-3 col-lg-5 col-sm-12 col-12 py-0 my-3 my-sm-auto d-flex justify-content-sm-between justify-content-start flex-wrap">
|
||
|
<a class="me-sm-0 me-3 text-large" tabindex="-1"
|
||
|
name="action_view_contacts_email" type="object">
|
||
|
<span class="fw-normal">
|
||
|
<field name="contact_count_email"/>
|
||
|
</span>
|
||
|
<br/>
|
||
|
<span class="text-muted">
|
||
|
<i class="fa fa-envelope-o"/> Contacts
|
||
|
</span>
|
||
|
</a>
|
||
|
<a class="me-sm-0 me-3 text-large" tabindex="-1"
|
||
|
name="action_view_mailings" type="object">
|
||
|
<span class="fw-normal">
|
||
|
<field name="mailing_count"/>
|
||
|
</span>
|
||
|
<br/>
|
||
|
<span class="text-muted">Mailings</span>
|
||
|
</a>
|
||
|
<hr class="w-100 d-block d-sm-none opacity-0 m-0 p-0"/>
|
||
|
<a class="me-sm-0 me-3 text-large" tabindex="-1"
|
||
|
name="action_view_contacts_bouncing" type="object">
|
||
|
<span class="fw-normal">
|
||
|
<field name="contact_pct_bounce"/> %
|
||
|
</span>
|
||
|
<br/>
|
||
|
<span class="text-muted">Bounce</span>
|
||
|
</a>
|
||
|
<a class="me-sm-0 me-3 text-large" tabindex="-1"
|
||
|
name="action_view_contacts_opt_out" type="object">
|
||
|
<span class="fw-normal">
|
||
|
<field name="contact_pct_opt_out"/> %
|
||
|
</span>
|
||
|
<br/>
|
||
|
<span class="text-muted">Opt-Out</span>
|
||
|
</a>
|
||
|
<a class="me-sm-0 me-3 text-large" tabindex="-1"
|
||
|
name="action_view_contacts_blacklisted" type="object">
|
||
|
<span class="fw-normal">
|
||
|
<field name="contact_pct_blacklisted"/> %
|
||
|
</span>
|
||
|
<br/>
|
||
|
<span class="text-muted">Blacklist</span>
|
||
|
</a>
|
||
|
</div>
|
||
|
<div class="o_kanban_ungrouped_action_buttons order-3 order-lg-4 col-5 col-lg-2 py-0 my-auto d-none d-md-flex flex-wrap justify-content-end gap-1">
|
||
|
<button name="action_open_import" string="Import Contacts"
|
||
|
type="object" class="btn btn-secondary text-nowrap">
|
||
|
Import Contacts
|
||
|
</button>
|
||
|
<button name="action_send_mailing" string="Send Mailing"
|
||
|
type="object" class="btn btn-secondary text-nowrap">
|
||
|
Send Mailing
|
||
|
</button>
|
||
|
</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 Mailing List
|
||
|
</p><p>
|
||
|
No need to import mailing lists, you can send mailings to contacts saved in other Odoo apps.
|
||
|
</p>
|
||
|
</field>
|
||
|
</record>
|
||
|
</odoo>
|