[IMP] mass_mailing(_sms): make data subscription a real record

Make real subscription records for contact / list link, in order to have values
for inner model fields and ease their management / update / removal. It is
better than relying on m2m commands.

Also harmonize some xml ids names to ease future changes.

Task-2702607

Part-of: odoo/odoo#135299
This commit is contained in:
Thibault Delavallée
2023-09-18 22:17:04 +00:00
parent e114822875
commit 1f7c515086
8 changed files with 78 additions and 18 deletions
+2 -1
View File
@@ -4,7 +4,7 @@
{
'name': 'Email Marketing',
'summary': 'Design, send and track emails',
'version': '2.6',
'version': '2.7',
'sequence': 60,
'website': 'https://www.odoo.com/app/email-marketing',
'category': 'Marketing/Email Marketing',
@@ -28,6 +28,7 @@
'data/ir_module_data.xml',
'data/mailing_data_templates.xml',
'data/mailing_list_contact.xml',
'data/mailing_contact_subscription.xml',
'data/res_users_data.xml',
'wizard/mail_compose_message_views.xml',
'wizard/mailing_contact_import_views.xml',
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1">
<record id="mailing_list_data_sub_contact_0" model="mailing.contact.subscription">
<field name="contact_id" ref="mass_mailing.mass_mail_contact_0"/>
<field name="list_id" ref="mass_mailing.mailing_list_data"/>
</record>
</data>
</odoo>
@@ -4,10 +4,10 @@
<record id="mailing_list_data" model="mailing.list">
<field name="name">Newsletter</field>
</record>
<record id="mass_mailing_contact_0" model="mailing.contact">
<record id="mass_mail_contact_0" model="mailing.contact">
<field name="name" model="res.users" eval="obj().env.ref('base.user_admin').name"/>
<field name="email" model="res.users" eval="obj().env.ref('base.user_admin').email"/>
<field name="list_ids" eval="[(6,0,[ref('mass_mailing.mailing_list_data')])]"/>
<field name="list_ids" eval="[(5, 0, 0)]"/>
</record>
</data>
</odoo>
@@ -1,20 +1,45 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1">
<!-- Create Opt-out Records -->
<record id="mass_mail_contact_list_rel_1" model="mailing.contact.subscription">
<!-- Subscription to 'mailing_list_data' -->
<record id="mailing_list_data_sub_contact_1" model="mailing.contact.subscription">
<field name="contact_id" ref="mass_mailing.mass_mail_contact_1"/>
<field name="list_id" ref="mass_mailing.mailing_list_data"/>
</record>
<record id="mailing_list_data_sub_contact_2" model="mailing.contact.subscription">
<field name="contact_id" ref="mass_mailing.mass_mail_contact_2"/>
<field name="list_id" ref="mass_mailing.mailing_list_data"/>
</record>
<record id="mailing_list_data_sub_contact_3" model="mailing.contact.subscription">
<field name="contact_id" ref="mass_mailing.mass_mail_contact_3"/>
<field name="list_id" ref="mass_mailing.mailing_list_data"/>
</record>
<record id="mailing_list_data_sub_contact_4" model="mailing.contact.subscription">
<field name="contact_id" ref="mass_mailing.mass_mail_contact_4"/>
<field name="list_id" ref="mass_mailing.mailing_list_data"/>
<field name="opt_out">True</field>
</record>
<record id="mass_mail_contact_list_rel_2" model="mailing.contact.subscription">
<record id="mailing_list_data_sub_contact_5" model="mailing.contact.subscription">
<field name="contact_id" ref="mass_mailing.mass_mail_contact_5"/>
<field name="list_id" ref="mass_mailing.mailing_list_data"/>
</record>
<record id="mailing_list_data_sub_contact_6" model="mailing.contact.subscription">
<field name="contact_id" ref="mass_mailing.mass_mail_contact_6"/>
<field name="list_id" ref="mass_mailing.mailing_list_data"/>
<field name="opt_out">True</field>
</record>
<!-- Subscription to 'mailing_list_1' -->
<record id="mailing_list_1_sub_contact_3" model="mailing.contact.subscription">
<field name="contact_id" ref="mass_mailing.mass_mail_contact_3"/>
<field name="list_id" ref="mass_mailing.mailing_list_1"/>
</record>
<record id="mailing_list_1_sub_contact_6" model="mailing.contact.subscription">
<field name="contact_id" ref="mass_mailing.mass_mail_contact_6"/>
<field name="list_id" ref="mass_mailing.mailing_list_1"/>
</record>
<!-- Create Blacklist Records -->
<record id="blacklist_1" model="mail.blacklist">
<record id="mail_blacklist_demo_1" model="mail.blacklist">
<field name="email">elsa.ericson@example.com</field>
</record>
</data>
@@ -10,32 +10,33 @@
<record id="mass_mail_contact_1" model="mailing.contact">
<field name="name">Aristide Antario</field>
<field name="email">alexandre.antario@example.com</field>
<field name="list_ids" eval="[(6,0,[ref('mass_mailing.mailing_list_data')])]"/>
<field name="list_ids" eval="[(5, 0, 0)]"/>
</record>
<record id="mass_mail_contact_2" model="mailing.contact">
<field name="name">Beverly Bridge</field>
<field name="email">beverly.bridge@example.com</field>
<field name="list_ids" eval="[(6,0,[ref('mass_mailing.mailing_list_data')])]"/>
<field name="list_ids" eval="[(5, 0, 0)]"/>
</record>
<record id="mass_mail_contact_3" model="mailing.contact">
<field name="name">Carol Cartridge</field>
<field name="email">carol.cartridge@example.com</field>
<field name="list_ids" eval="[(6,0,[ref('mass_mailing.mailing_list_data'),ref('mass_mailing.mailing_list_1')])]"/>
<field name="list_ids" eval="[(5, 0, 0)]"/>
</record>
<record id="mass_mail_contact_4" model="mailing.contact">
<field name="name">David Dawson</field>
<field name="email">david.dawson@example.com</field>
<field name="list_ids" eval="[(5, 0, 0)]"/>
</record>
<record id="mass_mail_contact_5" model="mailing.contact">
<field name="name">Elsa Ericson</field>
<field name="email">elsa.ericson@example.com</field>
<field name="message_bounce">5</field>
<field name="list_ids" eval="[(6,0,[ref('mass_mailing.mailing_list_data')])]"/>
<field name="list_ids" eval="[(5, 0, 0)]"/>
</record>
<record id="mass_mail_contact_6" model="mailing.contact">
<field name="name">Franz Faubourg</field>
<field name="email">franz.faubourg@example.com</field>
<field name="list_ids" eval="[(6,0,[ref('mass_mailing.mailing_list_1')])]"/>
<field name="list_ids" eval="[(5, 0, 0)]"/>
</record>
</data>
</odoo>
+2 -1
View File
@@ -4,7 +4,7 @@
{
'name': 'SMS Marketing',
'summary': 'Design, send and track SMS',
'version': '1.0',
'version': '1.1',
'category': 'Marketing/Email Marketing',
'sequence': 245,
'depends': [
@@ -29,6 +29,7 @@
'demo': [
'demo/utm.xml',
'demo/mailing_list_contact.xml',
'demo/mailing_contact_subscription.xml',
'demo/mailing_mailing.xml',
'demo/mailing_trace.xml',
],
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo><data noupdate="0">
<record id="mailing_list_sms_0_sub_contact_0_0" model="mailing.contact.subscription">
<field name="contact_id" ref="mass_mailing_sms.mailing_contact_0_0"/>
<field name="list_id" ref="mass_mailing_sms.mailing_list_sms_0"/>
</record>
<record id="mailing_list_sms_0_sub_contact_0_1" model="mailing.contact.subscription">
<field name="contact_id" ref="mass_mailing_sms.mailing_contact_0_1"/>
<field name="list_id" ref="mass_mailing_sms.mailing_list_sms_0"/>
</record>
<record id="mailing_list_sms_0_sub_contact_0_2" model="mailing.contact.subscription">
<field name="contact_id" ref="mass_mailing_sms.mailing_contact_0_2"/>
<field name="list_id" ref="mass_mailing_sms.mailing_list_sms_0"/>
</record>
<record id="mailing_list_sms_0_sub_contact_0_3" model="mailing.contact.subscription">
<field name="contact_id" ref="mass_mailing_sms.mailing_contact_0_3"/>
<field name="list_id" ref="mass_mailing_sms.mailing_list_sms_0"/>
</record>
<record id="mailing_list_sms_0_sub_contact_0_4" model="mailing.contact.subscription">
<field name="contact_id" ref="mass_mailing_sms.mailing_contact_0_4"/>
<field name="list_id" ref="mass_mailing_sms.mailing_list_sms_0"/>
</record>
</data></odoo>
@@ -8,27 +8,27 @@
<field name="name">Hubert Farnsworth</field>
<field name="mobile">+32456001100</field>
<field name="email">hubert.farnsworth@example.com</field>
<field name="list_ids" eval="[(4, ref('mass_mailing_sms.mailing_list_sms_0'))]"/>
<field name="list_ids" eval="[(5, 0, 0)]"/>
</record>
<record id="mailing_contact_0_1" model="mailing.contact">
<field name="name">Philip Fry</field>
<field name="mobile">+32456001111</field>
<field name="email">philip.fry@example.com</field>
<field name="list_ids" eval="[(4, ref('mass_mailing_sms.mailing_list_sms_0'))]"/>
<field name="list_ids" eval="[(5, 0, 0)]"/>
</record>
<record id="mailing_contact_0_2" model="mailing.contact">
<field name="name">Turanga Leela</field>
<field name="mobile">+32456001122</field>
<field name="list_ids" eval="[(4, ref('mass_mailing_sms.mailing_list_sms_0'))]"/>
<field name="list_ids" eval="[(5, 0, 0)]"/>
</record>
<record id="mailing_contact_0_3" model="mailing.contact">
<field name="name">John Zoidberg</field>
<field name="mobile">+32456001133</field>
<field name="list_ids" eval="[(4, ref('mass_mailing_sms.mailing_list_sms_0'))]"/>
<field name="list_ids" eval="[(5, 0, 0)]"/>
</record>
<record id="mailing_contact_0_4" model="mailing.contact">
<field name="name">Zapp Brannigan</field>
<field name="mobile">dummy</field>
<field name="list_ids" eval="[(4, ref('mass_mailing_sms.mailing_list_sms_0'))]"/>
<field name="list_ids" eval="[(5, 0, 0)]"/>
</record>
</data></odoo>