[MOV] mass_mailing(_sms): split models and views
PURPOSE Reorganize addon according to guidelines, helping finding and updating code. SPECIFICATIONS Move subscription model into its own file, to ease future improvements. Do the same for its views. Also move menu entries into a specific file for menus, allowing to easily understand menu organization in mass mailing. A duplicated menu about link trackers in SMS is also removed. Task-2864264 (Mass Mailing Module Reorganization) Part-of: odoo/odoo#92509
This commit is contained in:
@@ -36,16 +36,17 @@
|
||||
'wizard/mailing_list_merge_views.xml',
|
||||
'wizard/mailing_mailing_test_views.xml',
|
||||
'wizard/mailing_mailing_schedule_date_views.xml',
|
||||
'report/mailing_trace_report_views.xml',
|
||||
'views/mailing_filter_views.xml',
|
||||
'views/mailing_mailing_views_menus.xml',
|
||||
'views/mailing_trace_views.xml',
|
||||
'views/link_tracker_views.xml',
|
||||
'views/mailing_contact_views.xml',
|
||||
'views/mailing_contact_subscription_views.xml',
|
||||
'views/mailing_list_views.xml',
|
||||
'views/mailing_mailing_views.xml',
|
||||
'views/res_config_settings_views.xml',
|
||||
'views/utm_campaign_views.xml',
|
||||
'report/mailing_trace_report_views.xml',
|
||||
'views/mailing_menus.xml',
|
||||
'views/assets.xml',
|
||||
'views/mass_mailing_templates_portal.xml',
|
||||
'views/themes_templates.xml',
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
from . import ir_model
|
||||
from . import link_tracker
|
||||
from . import mailing_contact_subscription
|
||||
from . import mailing_contact
|
||||
from . import mailing_list
|
||||
from . import mailing_trace
|
||||
|
||||
@@ -6,49 +6,6 @@ from odoo.exceptions import UserError
|
||||
from odoo.osv import expression
|
||||
|
||||
|
||||
class MassMailingContactListRel(models.Model):
|
||||
""" Intermediate model between mass mailing list and mass mailing contact
|
||||
Indicates if a contact is opted out for a particular list
|
||||
"""
|
||||
_name = 'mailing.contact.subscription'
|
||||
_description = 'Mass Mailing Subscription Information'
|
||||
_table = 'mailing_contact_list_rel'
|
||||
_rec_name = 'contact_id'
|
||||
_order = 'list_id DESC, contact_id DESC'
|
||||
|
||||
contact_id = fields.Many2one('mailing.contact', string='Contact', ondelete='cascade', required=True)
|
||||
list_id = fields.Many2one('mailing.list', string='Mailing List', ondelete='cascade', required=True)
|
||||
opt_out = fields.Boolean(
|
||||
string='Opt Out',
|
||||
default=False,
|
||||
help='The contact has chosen not to receive mails anymore from this list')
|
||||
unsubscription_date = fields.Datetime(string='Unsubscription Date')
|
||||
message_bounce = fields.Integer(related='contact_id.message_bounce', store=False, readonly=False)
|
||||
is_blacklisted = fields.Boolean(related='contact_id.is_blacklisted', store=False, readonly=False)
|
||||
|
||||
_sql_constraints = [
|
||||
('unique_contact_list', 'unique (contact_id, list_id)',
|
||||
'A mailing contact cannot subscribe to the same mailing list multiple times.')
|
||||
]
|
||||
|
||||
@api.model_create_multi
|
||||
def create(self, vals_list):
|
||||
now = fields.Datetime.now()
|
||||
for vals in vals_list:
|
||||
if 'opt_out' in vals and 'unsubscription_date' not in vals:
|
||||
vals['unsubscription_date'] = now if vals['opt_out'] else False
|
||||
if vals.get('unsubscription_date'):
|
||||
vals['opt_out'] = True
|
||||
return super().create(vals_list)
|
||||
|
||||
def write(self, vals):
|
||||
if 'opt_out' in vals and 'unsubscription_date' not in vals:
|
||||
vals['unsubscription_date'] = fields.Datetime.now() if vals['opt_out'] else False
|
||||
if vals.get('unsubscription_date'):
|
||||
vals['opt_out'] = True
|
||||
return super(MassMailingContactListRel, self).write(vals)
|
||||
|
||||
|
||||
class MassMailingContact(models.Model):
|
||||
"""Model of a contact. This model is different from the partner model
|
||||
because it holds only some basic information: name, email. The purpose is to
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from odoo import api, fields, models
|
||||
|
||||
|
||||
class MassMailingContactListRel(models.Model):
|
||||
""" Intermediate model between mass mailing list and mass mailing contact
|
||||
Indicates if a contact is opted out for a particular list
|
||||
"""
|
||||
_name = 'mailing.contact.subscription'
|
||||
_description = 'Mass Mailing Subscription Information'
|
||||
_table = 'mailing_contact_list_rel'
|
||||
_rec_name = 'contact_id'
|
||||
_order = 'list_id DESC, contact_id DESC'
|
||||
|
||||
contact_id = fields.Many2one('mailing.contact', string='Contact', ondelete='cascade', required=True)
|
||||
list_id = fields.Many2one('mailing.list', string='Mailing List', ondelete='cascade', required=True)
|
||||
opt_out = fields.Boolean(
|
||||
string='Opt Out',
|
||||
default=False,
|
||||
help='The contact has chosen not to receive mails anymore from this list')
|
||||
unsubscription_date = fields.Datetime(string='Unsubscription Date')
|
||||
message_bounce = fields.Integer(related='contact_id.message_bounce', store=False, readonly=False)
|
||||
is_blacklisted = fields.Boolean(related='contact_id.is_blacklisted', store=False, readonly=False)
|
||||
|
||||
_sql_constraints = [
|
||||
('unique_contact_list', 'unique (contact_id, list_id)',
|
||||
'A mailing contact cannot subscribe to the same mailing list multiple times.')
|
||||
]
|
||||
|
||||
@api.model_create_multi
|
||||
def create(self, vals_list):
|
||||
now = fields.Datetime.now()
|
||||
for vals in vals_list:
|
||||
if 'opt_out' in vals and 'unsubscription_date' not in vals:
|
||||
vals['unsubscription_date'] = now if vals['opt_out'] else False
|
||||
if vals.get('unsubscription_date'):
|
||||
vals['opt_out'] = True
|
||||
return super().create(vals_list)
|
||||
|
||||
def write(self, vals):
|
||||
if 'opt_out' in vals and 'unsubscription_date' not in vals:
|
||||
vals['unsubscription_date'] = fields.Datetime.now() if vals['opt_out'] else False
|
||||
if vals.get('unsubscription_date'):
|
||||
vals['opt_out'] = True
|
||||
return super(MassMailingContactListRel, self).write(vals)
|
||||
@@ -95,8 +95,4 @@
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<menuitem name="Reporting" id="menu_mass_mailing_report" sequence="99"
|
||||
parent="mass_mailing_menu_root"
|
||||
action="mailing_trace_report_action_mail"/>
|
||||
</odoo>
|
||||
|
||||
@@ -78,12 +78,4 @@
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- MENU TO HANLDE LINK DATA IN MM -->
|
||||
<menuitem id="link_tracker_menu_mass_mailing"
|
||||
name="Link Tracker"
|
||||
parent="mass_mailing_configuration"
|
||||
sequence="5"
|
||||
action="link_tracker.link_tracker_action"/>
|
||||
|
||||
</odoo>
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<record model="ir.ui.view" id="mailing_contact_subscription_view_form">
|
||||
<field name="name">mailing.contact.subscription.view.form</field>
|
||||
<field name="model">mailing.contact.subscription</field>
|
||||
<field name="priority">10</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Mailing List Subscription">
|
||||
<sheet>
|
||||
<group>
|
||||
<field name="list_id"/>
|
||||
<field name="is_blacklisted" invisible="1"/>
|
||||
<label for="contact_id" class="oe_inline"/>
|
||||
<div class="o_row o_row_readonly">
|
||||
<i class="fa fa-ban text-danger" role="img" title="This email is blacklisted for mass mailings"
|
||||
aria-label="Blacklisted" attrs="{'invisible': [('is_blacklisted', '=', False)]}" groups="base.group_user"></i>
|
||||
<field name="contact_id"/>
|
||||
</div>
|
||||
<field name="unsubscription_date" readonly="1"/>
|
||||
<field name="opt_out"/>
|
||||
<field name="message_bounce" readonly="1"/>
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="mailing_contact_subscription_view_tree">
|
||||
<field name="name">mailing.contact.subscription.view.tree</field>
|
||||
<field name="model">mailing.contact.subscription</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Mailing List Subscriptions">
|
||||
<field name="contact_id"/>
|
||||
<field name="unsubscription_date"/>
|
||||
<field name="opt_out"/>
|
||||
<field name="message_bounce"/>
|
||||
<field name="is_blacklisted"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="mailing_contact_subscription_view_search">
|
||||
<field name="name">mailing.contact.subscription.view.search</field>
|
||||
<field name="model">mailing.contact.subscription</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Mailing List Subscriptions">
|
||||
<field name="contact_id"/>
|
||||
<field name="opt_out"/>
|
||||
<field name="list_id"/>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
||||
@@ -1,58 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<!-- MAILING CONTACT SUBSCRIPTION -->
|
||||
<record model="ir.ui.view" id="mailing_contact_subscription_view_form">
|
||||
<field name="name">mailing.contact.subscription.view.form</field>
|
||||
<field name="model">mailing.contact.subscription</field>
|
||||
<field name="priority">10</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Mailing List Subscription">
|
||||
<sheet>
|
||||
<group>
|
||||
<field name="list_id"/>
|
||||
<field name="is_blacklisted" invisible="1"/>
|
||||
<label for="contact_id" class="oe_inline"/>
|
||||
<div class="o_row o_row_readonly">
|
||||
<i class="fa fa-ban text-danger" role="img" title="This email is blacklisted for mass mailings"
|
||||
aria-label="Blacklisted" attrs="{'invisible': [('is_blacklisted', '=', False)]}" groups="base.group_user"></i>
|
||||
<field name="contact_id"/>
|
||||
</div>
|
||||
<field name="unsubscription_date" readonly="1"/>
|
||||
<field name="opt_out"/>
|
||||
<field name="message_bounce" readonly="1"/>
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="mailing_contact_subscription_view_tree">
|
||||
<field name="name">mailing.contact.subscription.view.tree</field>
|
||||
<field name="model">mailing.contact.subscription</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Mailing List Subscriptions">
|
||||
<field name="contact_id"/>
|
||||
<field name="unsubscription_date"/>
|
||||
<field name="opt_out"/>
|
||||
<field name="message_bounce"/>
|
||||
<field name="is_blacklisted"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="mailing_contact_subscription_view_search">
|
||||
<field name="name">mailing.contact.subscription.view.search</field>
|
||||
<field name="model">mailing.contact.subscription</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Mailing List Subscriptions">
|
||||
<field name="contact_id"/>
|
||||
<field name="opt_out"/>
|
||||
<field name="list_id"/>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="mailing_contact_view_search" model="ir.ui.view">
|
||||
<record id="mailing_contact_view_search" model="ir.ui.view">
|
||||
<field name="name">mailing.contact.view.search</field>
|
||||
<field name="model">mailing.contact</field>
|
||||
<field name="arch" type="xml">
|
||||
@@ -241,8 +189,4 @@
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<menuitem name="Mailing List Contacts" id="menu_email_mass_mailing_contacts"
|
||||
parent="mass_mailing_mailing_list_menu" sequence="4"
|
||||
action="action_view_mass_mailing_contacts"/>
|
||||
</odoo>
|
||||
|
||||
@@ -293,8 +293,4 @@
|
||||
</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>
|
||||
|
||||
@@ -718,10 +718,4 @@
|
||||
<field name="res_model">mailing.mailing</field>
|
||||
<field name="view_mode">form</field>
|
||||
</record>
|
||||
|
||||
<menuitem name="Mailings" id="mass_mailing_menu"
|
||||
parent="mass_mailing_menu_root"
|
||||
sequence="1"
|
||||
action="mailing_mailing_action_mail"/>
|
||||
|
||||
</odoo>
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<!-- Marketing / Mailing -->
|
||||
<menuitem name="Email Marketing" id="mass_mailing_menu_root" sequence="115" web_icon="mass_mailing,static/description/icon.svg" groups="mass_mailing.group_mass_mailing_user"/>
|
||||
<menuitem name="Mailing Lists" id="mass_mailing_mailing_list_menu"
|
||||
parent="mass_mailing_menu_root" sequence="2"/>
|
||||
|
||||
<!-- Marketing / Configuration -->
|
||||
<menuitem name="Configuration" id="mass_mailing_configuration"
|
||||
parent="mass_mailing_menu_root"
|
||||
sequence="100"/>
|
||||
|
||||
<!-- Configuration / Blacklist -->
|
||||
<menuitem id="mail_blacklist_mm_menu" name="Blacklisted Email Addresses"
|
||||
action="mail.mail_blacklist_action"
|
||||
parent="mass_mailing_configuration"/>
|
||||
|
||||
<!-- Configuration / Favorite Filters -->
|
||||
<menuitem id="mailing_filter_menu_action"
|
||||
action="mailing_filter_action"
|
||||
parent="mass_mailing_configuration"/>
|
||||
|
||||
<!-- Technical / Mass Mailing -->
|
||||
<menuitem id="mailing_mailing_menu_technical"
|
||||
name="Mass Mailing"
|
||||
sequence="4"
|
||||
parent="base.menu_custom"/>
|
||||
</odoo>
|
||||
@@ -0,0 +1,103 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<!-- Marketing / Mailing -->
|
||||
<menuitem name="Email Marketing"
|
||||
id="mass_mailing_menu_root"
|
||||
sequence="115"
|
||||
web_icon="mass_mailing,static/description/icon.svg"
|
||||
groups="mass_mailing.group_mass_mailing_user"/>
|
||||
|
||||
<!-- Mailings -->
|
||||
<menuitem name="Mailings"
|
||||
id="mass_mailing_menu"
|
||||
parent="mass_mailing_menu_root"
|
||||
sequence="1"
|
||||
action="mailing_mailing_action_mail"/>
|
||||
|
||||
<!-- Mailing lists -->
|
||||
<menuitem name="Mailing Lists"
|
||||
id="mass_mailing_mailing_list_menu"
|
||||
parent="mass_mailing_menu_root"
|
||||
sequence="2"/>
|
||||
<menuitem name="Mailing Lists"
|
||||
id="menu_email_mass_mailing_lists"
|
||||
parent="mass_mailing_mailing_list_menu"
|
||||
sequence="1"
|
||||
action="action_view_mass_mailing_lists"/>
|
||||
<menuitem name="Mailing List Contacts"
|
||||
id="menu_email_mass_mailing_contacts"
|
||||
parent="mass_mailing_mailing_list_menu"
|
||||
sequence="2"
|
||||
action="action_view_mass_mailing_contacts"/>
|
||||
|
||||
<!-- Campaigns -->
|
||||
<menuitem name="Campaigns"
|
||||
id="menu_email_campaigns"
|
||||
parent="mass_mailing_menu_root"
|
||||
sequence="3"
|
||||
action="action_view_utm_campaigns"
|
||||
groups="mass_mailing.group_mass_mailing_campaign"/>
|
||||
|
||||
<!-- Reporting -->
|
||||
<menuitem name="Reporting"
|
||||
id="menu_mass_mailing_report"
|
||||
sequence="90"
|
||||
parent="mass_mailing_menu_root"
|
||||
action="mailing_trace_report_action_mail"/>
|
||||
|
||||
<!-- Configuration -->
|
||||
<menuitem name="Configuration"
|
||||
id="mass_mailing_configuration"
|
||||
parent="mass_mailing_menu_root"
|
||||
sequence="100"/>
|
||||
<!-- Configuration / Settings -->
|
||||
<menuitem name="Settings"
|
||||
id="menu_mass_mailing_global_settings"
|
||||
parent="mass_mailing_configuration"
|
||||
sequence="0"
|
||||
action="action_mass_mailing_configuration"
|
||||
groups="base.group_system"/>
|
||||
<!-- Configuration / Campaign stages -->
|
||||
<menuitem name="Campaign Stages"
|
||||
id="menu_view_mass_mailing_stages"
|
||||
parent="mass_mailing_configuration"
|
||||
sequence="1"
|
||||
groups="mass_mailing.group_mass_mailing_campaign"
|
||||
action="utm.action_view_utm_stage"/>
|
||||
<!-- Configuration / Utm Tags -->
|
||||
<menuitem id="mass_mailing_tag_menu"
|
||||
parent="mass_mailing_configuration"
|
||||
action="utm.action_view_utm_tag"
|
||||
sequence="2"
|
||||
groups="mass_mailing.group_mass_mailing_campaign"/>
|
||||
<!-- Configuration / Link trackers -->
|
||||
<menuitem id="link_tracker_menu_mass_mailing"
|
||||
name="Link Tracker"
|
||||
parent="mass_mailing_configuration"
|
||||
sequence="10"
|
||||
action="link_tracker.link_tracker_action"/>
|
||||
<!-- Configuration / Blacklist -->
|
||||
<menuitem id="mail_blacklist_mm_menu"
|
||||
name="Blacklisted Email Addresses"
|
||||
action="mail.mail_blacklist_action"
|
||||
parent="mass_mailing_configuration"
|
||||
sequence="20"/>
|
||||
<!-- Configuration / Favorite Filters -->
|
||||
<menuitem id="mailing_filter_menu_action"
|
||||
action="mailing_filter_action"
|
||||
parent="mass_mailing_configuration"
|
||||
sequence="30"/>
|
||||
|
||||
<!-- Technical / Mass Mailing -->
|
||||
<menuitem id="mailing_mailing_menu_technical"
|
||||
name="Mass Mailing"
|
||||
sequence="4"
|
||||
parent="base.menu_custom"/>
|
||||
<menuitem id="menu_email_statistics"
|
||||
name="Mailing Traces"
|
||||
parent="mass_mailing.mailing_mailing_menu_technical"
|
||||
sequence="2"
|
||||
action="mailing_trace_action"/>
|
||||
|
||||
|
||||
</odoo>
|
||||
@@ -140,10 +140,4 @@
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Add in Technical/Email -->
|
||||
<menuitem id="menu_email_statistics"
|
||||
name="Mailing Traces"
|
||||
parent="mass_mailing.mailing_mailing_menu_technical" sequence="2"
|
||||
action="mailing_trace_action"/>
|
||||
</odoo>
|
||||
|
||||
@@ -78,7 +78,4 @@
|
||||
<field name="target">inline</field>
|
||||
<field name="context">{'module' : 'mass_mailing', 'bin_size': False}</field>
|
||||
</record>
|
||||
|
||||
<menuitem id="menu_mass_mailing_global_settings" name="Settings"
|
||||
parent="mass_mailing_configuration" sequence="0" action="action_mass_mailing_configuration" groups="base.group_system"/>
|
||||
</odoo>
|
||||
|
||||
@@ -111,20 +111,4 @@
|
||||
</field>
|
||||
<field name="domain">[('is_auto_campaign', '=', False)]</field>
|
||||
</record>
|
||||
|
||||
<menuitem name="Campaigns" id="menu_email_campaigns"
|
||||
parent="mass_mailing_menu_root" sequence="5"
|
||||
action="action_view_utm_campaigns"
|
||||
groups="mass_mailing.group_mass_mailing_campaign"/>
|
||||
|
||||
<menuitem name="Campaign Stages" id="menu_view_mass_mailing_stages"
|
||||
parent="mass_mailing_configuration" sequence="1"
|
||||
groups="mass_mailing.group_mass_mailing_campaign"
|
||||
action="utm.action_view_utm_stage"/>
|
||||
|
||||
<menuitem id="mass_mailing_tag_menu"
|
||||
parent="mass_mailing_configuration"
|
||||
action="utm.action_view_utm_tag"
|
||||
sequence="2"
|
||||
groups="mass_mailing.group_mass_mailing_campaign"/>
|
||||
</odoo>
|
||||
|
||||
@@ -15,15 +15,14 @@
|
||||
'data': [
|
||||
'data/utm_data.xml',
|
||||
'security/ir.model.access.csv',
|
||||
'views/mailing_sms_menus.xml',
|
||||
'report/mailing_trace_report_views.xml',
|
||||
'views/mailing_list_views.xml',
|
||||
'views/mailing_contact_views.xml',
|
||||
'views/mailing_trace_views.xml',
|
||||
'views/mailing_mailing_views.xml',
|
||||
'views/link_tracker_views.xml',
|
||||
'views/mass_mailing_sms_templates_portal.xml',
|
||||
'views/utm_campaign_views.xml',
|
||||
'report/mailing_trace_report_views.xml',
|
||||
'views/mailing_sms_menus.xml',
|
||||
'wizard/sms_composer_views.xml',
|
||||
'wizard/mailing_sms_test_views.xml',
|
||||
],
|
||||
|
||||
@@ -83,9 +83,4 @@
|
||||
<field name="act_window_id" ref="mailing_trace_report_action_sms"/>
|
||||
<field name="view_id" ref="mailing_trace_report_sms_view_tree"/>
|
||||
</record>
|
||||
|
||||
<!-- SMS Marketing / Reporting -->
|
||||
<record id="mass_mailing_sms_menu_reporting" model="ir.ui.menu">
|
||||
<field name="action" ref="mailing_trace_report_action_sms"/>
|
||||
</record>
|
||||
</odoo>
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<menuitem id="link_tracker_menu"
|
||||
name="Link Tracker"
|
||||
parent="mass_mailing_sms_menu_configuration"
|
||||
sequence="2"
|
||||
action="link_tracker.link_tracker_action"/>
|
||||
</odoo>
|
||||
@@ -91,10 +91,4 @@
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- SMS Marketing / Contacts Lists / Contacts Lists -->
|
||||
<record id="mass_mailing_sms.mailing_contact_menu_sms" model="ir.ui.menu">
|
||||
<field name="action" ref="mailing_contact_action_sms"/>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
|
||||
@@ -42,9 +42,4 @@
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- SMS Marketing / Contacts Lists / Contacts Lists -->
|
||||
<record id="mass_mailing_sms.mailing_list_menu_sms" model="ir.ui.menu">
|
||||
<field name="action" ref="mailing_list_action_sms"/>
|
||||
</record>
|
||||
</odoo>
|
||||
|
||||
@@ -281,9 +281,4 @@
|
||||
<field name="act_window_id" ref="mailing_mailing_action_sms"/>
|
||||
</record>
|
||||
|
||||
<!-- SMS Marketing / SMS Marketing -->
|
||||
<record id="mass_mailing_sms_menu_mass_sms" model="ir.ui.menu">
|
||||
<field name="action" ref="mailing_mailing_action_sms"/>
|
||||
</record>
|
||||
|
||||
</data></odoo>
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
<!-- SMS Marketing / SMS Marketing -->
|
||||
<menuitem id="mass_mailing_sms_menu_mass_sms"
|
||||
name="SMS Marketing"
|
||||
action="mailing_mailing_action_sms"
|
||||
parent="mass_mailing_sms_menu_root"
|
||||
sequence="1"
|
||||
groups="mass_mailing.group_mass_mailing_user"/>
|
||||
@@ -23,19 +24,30 @@
|
||||
<!-- SMS Marketing / Contacts Lists / Contacts Lists -->
|
||||
<menuitem id="mailing_list_menu_sms"
|
||||
name="Mailing Lists"
|
||||
action="mailing_list_action_sms"
|
||||
parent="mass_mailing_sms_menu_contacts"
|
||||
sequence="1"
|
||||
groups="mass_mailing.group_mass_mailing_user"/>
|
||||
<!-- SMS Marketing / Contacts Lists / Contacts -->
|
||||
<!-- SMS Marketing / Contacts Lists / Contacts -->
|
||||
<menuitem id="mailing_contact_menu_sms"
|
||||
name="Mailing List Contacts"
|
||||
action="mailing_contact_action_sms"
|
||||
parent="mass_mailing_sms_menu_contacts"
|
||||
sequence="2"
|
||||
groups="mass_mailing.group_mass_mailing_user"/>
|
||||
|
||||
<!-- SMS Markrting / Campaigns -->
|
||||
<menuitem id="menu_email_campaigns"
|
||||
name="Campaigns"
|
||||
parent="mass_mailing_sms_menu_root"
|
||||
sequence="5"
|
||||
action="mass_mailing.action_view_utm_campaigns"
|
||||
groups="mass_mailing.group_mass_mailing_campaign"/>
|
||||
|
||||
<!-- SMS Marketing / Reporting -->
|
||||
<menuitem id="mass_mailing_sms_menu_reporting"
|
||||
name="Reporting"
|
||||
action="mailing_trace_report_action_sms"
|
||||
parent="mass_mailing_sms_menu_root"
|
||||
sequence="80"
|
||||
groups="mass_mailing.group_mass_mailing_user"/>
|
||||
@@ -55,7 +67,7 @@
|
||||
groups="mass_mailing.group_mass_mailing_user"/>
|
||||
<!-- SMS Marketing / Configuration / Link Tracker -->
|
||||
<menuitem id="link_tracker_menu"
|
||||
name="Link Tracker Blacklist"
|
||||
name="Link Tracker"
|
||||
parent="mass_mailing_sms_menu_configuration"
|
||||
sequence="2"
|
||||
action="link_tracker.link_tracker_action"
|
||||
|
||||
@@ -58,9 +58,4 @@
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<menuitem name="Campaigns" id="menu_email_campaigns"
|
||||
parent="mass_mailing_sms_menu_root" sequence="5"
|
||||
action="mass_mailing.action_view_utm_campaigns"
|
||||
groups="mass_mailing.group_mass_mailing_campaign"/>
|
||||
</odoo>
|
||||
|
||||
Reference in New Issue
Block a user