diff options
| author | Robot Odoo <xmo+roboto@odoo.com> | 2019-07-17 19:47:48 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-07-17 19:47:48 +0200 |
| commit | 998ff5e07f333fb4a5aff8aa387cce7b8f4c52d2 (patch) | |
| tree | 209ed37e6ea42a8c116109d0e48ad1a07ce4d69c /addons/mass_mailing/data | |
| parent | 69276607cc8ee7afd2f31b3d0cd853488e2ed6f9 (diff) | |
| parent | 49d2899fbd3e9b1c3b689fd5bdeb7f4fa0f6bfd1 (diff) | |
[MERGE] mass_mailing: clean module organization and prepare SMS addition
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
Guidelines: re-organize model files and split them according to main
models. Also reorganize views.
Move some code bits / fields declarations to reorder them. Purpose is to
make code easier to understand and find. Funny we found two override of create
that have been merged. An override of name create is not necessary considering
code was present in one of the two merged create. Make internal methods private
and rename send_mail to action_send_mail to avoid confusion with composer and
template send_mail methods.
Fix UTM management and propagation in mass mailing. Right UTM definition in
mass mailing :
* mass mailing campaign -> utm.campaign
* mass mailing -> utm.source
* "email" -> utm.medium
Therefore :
* remove campaign setting source and medium as each mailing is a source
and medium is "email";
* ensure each mailing is a separate source (otherwise name is shared);
* ensure UTM values propagate to link creation are those values and not
the one coming from the mass mailing campaign;
Rename mass mailing models. Rationale :
* remove mail prefix, as mass mailing will allow to use SMS to contact
people and will soon be less mail-dependent;
* have simpler name, easier to read, find and understand;
* mailing.list/contact/tag seems a better naming than mail.mass_mailing.
list/contact/tag;
* have a mailing prefix for all models used in mass mailing;
MIGRATION
mail.mail.statistics model -> mailing.trace
mail.statistics.report model -> mail.trace.report
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)
mail.mass_mailing.stage model -> mailing.stage
mail.mass_mailing.tag model -> mailing.tag
mail.mass_mailing model -> mailing.mailing
fields updated (w column change)
* link.tracker.click: mail_stat_id -> mailing_trace_id
fields updated (no column change)
* mail.mail: statistics_ids -> mailing_trace_ids
* mail.mass_mailing (mailing.mailing): statistics_ids -> mailing_trace_ids
* mail.mass_mailing.list (mailing.list): subscription_contact_ids ->
subscription_ids
LINKS
Task ID 2037906
Preparing task ID 1997464 (SMS addition in mass mailing)
PR #34938
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Diffstat (limited to 'addons/mass_mailing/data')
| -rw-r--r-- | addons/mass_mailing/data/mail_data.xml | 20 | ||||
| -rw-r--r-- | addons/mass_mailing/data/mass_mailing_data.xml | 8 | ||||
| -rw-r--r-- | addons/mass_mailing/data/mass_mailing_demo.xml | 45 |
3 files changed, 46 insertions, 27 deletions
diff --git a/addons/mass_mailing/data/mail_data.xml b/addons/mass_mailing/data/mail_data.xml new file mode 100644 index 00000000000..6c9bd7b591d --- /dev/null +++ b/addons/mass_mailing/data/mail_data.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo><data noupdate="1"> + <!-- Reference: https://litmus.com/community/learning/24-how-to-code-a-responsive-email-from-scratch --> + <template id="mass_mailing_mail_layout"> + <!DOCTYPE html> + <html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <meta name="format-detection" content="telephone=no"/> + <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=no;"/> + <meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7; IE=EDGE" /> + + <t t-call="mass_mailing.mass_mailing_mail_style"/> + </head> + <body> + <t t-raw="body"/> + </body> + </html> + </template> +</data></odoo> diff --git a/addons/mass_mailing/data/mass_mailing_data.xml b/addons/mass_mailing/data/mass_mailing_data.xml index 5cf24ae5d9d..37d21928188 100644 --- a/addons/mass_mailing/data/mass_mailing_data.xml +++ b/addons/mass_mailing/data/mass_mailing_data.xml @@ -3,15 +3,15 @@ <data noupdate="1"> <!-- Default stages of mass mailing campaigns --> - <record id="campaign_stage_1" model="mail.mass_mailing.stage"> + <record id="campaign_stage_1" model="mailing.stage"> <field name="name">Schedule</field> <field name="sequence">10</field> </record> - <record id="campaign_stage_2" model="mail.mass_mailing.stage"> + <record id="campaign_stage_2" model="mailing.stage"> <field name="name">Design</field> <field name="sequence">20</field> </record> - <record id="campaign_stage_3" model="mail.mass_mailing.stage"> + <record id="campaign_stage_3" model="mailing.stage"> <field name="name">Sent</field> <field name="sequence">30</field> </record> @@ -19,7 +19,7 @@ <!-- Cron that process the mass mailing queue --> <record id="ir_cron_mass_mailing_queue" model="ir.cron"> <field name="name">Mass Mailing: Process queue</field> - <field name="model_id" ref="model_mail_mass_mailing"/> + <field name="model_id" ref="model_mailing_mailing"/> <field name="state">code</field> <field name="code">model._process_mass_mailing_queue()</field> <field name="user_id" ref="base.user_root" /> diff --git a/addons/mass_mailing/data/mass_mailing_demo.xml b/addons/mass_mailing/data/mass_mailing_demo.xml index c1fdc2483f2..af6f9ba57a4 100644 --- a/addons/mass_mailing/data/mass_mailing_demo.xml +++ b/addons/mass_mailing/data/mass_mailing_demo.xml @@ -8,38 +8,38 @@ </record> <!-- Create mailing lists --> - <record id="mass_mail_list_2" model="mail.mass_mailing.list"> + <record id="mass_mail_list_2" model="mailing.list"> <field name="name">Imported Contacts</field> </record> <!-- Create Contacts --> - <record id="mass_mail_contact_1" model="mail.mass_mailing.contact"> + <record id="mass_mail_contact_1" model="mailing.contact"> <field name="name">Aristide Antario</field> <field name="email">aa@example.com</field> <field name="list_ids" eval="[(6,0,[ref('mass_mailing.mass_mail_list_2')])]"/> </record> - <record id="mass_mail_contact_2" model="mail.mass_mailing.contact"> + <record id="mass_mail_contact_2" model="mailing.contact"> <field name="name">Beverly Bridge</field> <field name="email">bb@example.com</field> <field name="list_ids" eval="[(6,0,[ref('mass_mailing.mass_mail_list_2')])]"/> </record> - <record id="mass_mail_contact_3" model="mail.mass_mailing.contact"> + <record id="mass_mail_contact_3" model="mailing.contact"> <field name="name">Carol Cartridge</field> <field name="email">cc@example.com</field> <field name="list_ids" eval="[(6,0,[ref('mass_mailing.mass_mail_list_2')])]"/> </record> - <record id="mass_mail_contact_4" model="mail.mass_mailing.contact"> + <record id="mass_mail_contact_4" model="mailing.contact"> <field name="name">David Dawson</field> <field name="email">dd@example.com</field> </record> - <record id="mass_mail_contact_5" model="mail.mass_mailing.contact"> + <record id="mass_mail_contact_5" model="mailing.contact"> <field name="name">Elsa Ericson</field> <field name="email">ee@example.com</field> <field name="list_ids" eval="[(6,0,[ref('mass_mailing.mass_mail_list_2')])]"/> </record> <!-- Create Opt-out Records --> - <record id="mass_mail_contact_list_rel_1" model="mail.mass_mailing.list_contact_rel"> + <record id="mass_mail_contact_list_rel_1" model="mailing.contact.subscription"> <field name="list_id" eval="ref('mass_mailing.mass_mail_list_2')"/> <field name="contact_id" eval="ref('mass_mailing.mass_mail_contact_4')"/> <field name="opt_out">True</field> @@ -51,7 +51,7 @@ </record> <!-- Create campaign and mailings --> - <record id="mass_mail_tag_1" model="mail.mass_mailing.tag"> + <record id="mass_mail_tag_1" model="mailing.tag"> <field name="name">Marketing</field> <field name="color" eval="1"/> </record> @@ -68,7 +68,7 @@ <field name="tag_ids" eval="[(6,0,[ref('mass_mailing.mass_mail_tag_1')])]"/> </record> - <record id="mass_mail_1" model="mail.mass_mailing"> + <record id="mass_mail_1" model="mailing.mailing"> <field name="name">Newsletter 1</field> <field name="subject" eval="'%s Newsletter' % (DateTime.today().strftime('%B'))"/> <field name="state">done</field> @@ -78,7 +78,6 @@ <field name="mass_mailing_campaign_id" eval="ref('mass_mail_campaign_1')"/> <field name="campaign_id" ref="utm.utm_campaign_email_campaign_products"/> <field name="source_id" ref="mass_mailing.utm_source_0"/> - <field name="medium_id" ref="utm.utm_medium_email"/> <field name="mailing_model_id" ref="base.model_res_partner"/> <field name="mailing_domain" eval="[('parent_id', '=', ref('base.res_partner_4'))]"/> <field name="reply_to_mode">email</field> @@ -197,9 +196,9 @@ <field name="attachment_ids" eval="[(4, ref('mass_mail_attach_1'))]"/> </record> <!-- Generate link tracker information from it --> - <function model="mail.mass_mailing" name="convert_links" eval="[ref('mass_mailing.mass_mail_1')]"/> + <function model="mailing.mailing" name="convert_links" eval="[ref('mass_mailing.mass_mail_1')]"/> - <record id="mass_mail_1_stat_0" model="mail.mail.statistics"> + <record id="mass_mail_1_stat_0" model="mailing.trace"> <field name="mass_mailing_id" eval="ref('mass_mail_1')"/> <field name="message_id">1111000@odoo.com</field> <field name="model">res.partner</field> @@ -208,7 +207,7 @@ <field name="opened" eval="(DateTime.today() - relativedelta(days=2)).strftime('%Y-%m-%d %H:%M:%S')"/> <field name="replied" eval="(DateTime.today() - relativedelta(days=1)).strftime('%Y-%m-%d %H:%M:%S')"/> </record> - <record id="mass_mail_1_stat_1" model="mail.mail.statistics"> + <record id="mass_mail_1_stat_1" model="mailing.trace"> <field name="mass_mailing_id" eval="ref('mass_mail_1')"/> <field name="message_id">1111001@odoo.com</field> <field name="model">res.partner</field> @@ -217,7 +216,7 @@ <field name="opened" eval="(DateTime.today() - relativedelta(days=2)).strftime('%Y-%m-%d %H:%M:%S')"/> <field name="replied" eval="(DateTime.today() - relativedelta(days=0)).strftime('%Y-%m-%d %H:%M:%S')"/> </record> - <record id="mass_mail_1_stat_2" model="mail.mail.statistics"> + <record id="mass_mail_1_stat_2" model="mailing.trace"> <field name="mass_mailing_id" eval="ref('mass_mail_1')"/> <field name="message_id">1111002@odoo.com</field> <field name="model">res.partner</field> @@ -225,7 +224,7 @@ <field name="sent" eval="(DateTime.today() - relativedelta(days=5)).strftime('%Y-%m-%d %H:%M:%S')"/> <field name="opened" eval="(DateTime.today() - relativedelta(days=2)).strftime('%Y-%m-%d %H:%M:%S')"/> </record> - <record id="mass_mail_1_stat_3" model="mail.mail.statistics"> + <record id="mass_mail_1_stat_3" model="mailing.trace"> <field name="mass_mailing_id" eval="ref('mass_mail_1')"/> <field name="message_id">1111003@odoo.com</field> <field name="model">res.partner</field> @@ -233,7 +232,7 @@ <field name="sent" eval="(DateTime.today() - relativedelta(days=5)).strftime('%Y-%m-%d %H:%M:%S')"/> <field name="opened" eval="(DateTime.today() - relativedelta(days=1)).strftime('%Y-%m-%d %H:%M:%S')"/> </record> - <record id="mass_mail_1_stat_4" model="mail.mail.statistics"> + <record id="mass_mail_1_stat_4" model="mailing.trace"> <field name="mass_mailing_id" eval="ref('mass_mail_1')"/> <field name="message_id">1111004@odoo.com</field> <field name="model">res.partner</field> @@ -241,7 +240,7 @@ <field name="sent" eval="(DateTime.today() - relativedelta(days=5)).strftime('%Y-%m-%d %H:%M:%S')"/> <field name="opened" eval="(DateTime.today() - relativedelta(days=1)).strftime('%Y-%m-%d %H:%M:%S')"/> </record> - <record id="mass_mail_1_stat_5" model="mail.mail.statistics"> + <record id="mass_mail_1_stat_5" model="mailing.trace"> <field name="mass_mailing_id" eval="ref('mass_mail_1')"/> <field name="message_id">1111004@odoo.com</field> <field name="model">res.partner</field> @@ -249,7 +248,7 @@ <field name="sent" eval="False"/> <field name="exception" eval="(DateTime.today() - relativedelta(days=5)).strftime('%Y-%m-%d %H:%M:%S')"/> </record> - <record id="mass_mail_1_stat_6" model="mail.mail.statistics"> + <record id="mass_mail_1_stat_6" model="mailing.trace"> <field name="mass_mailing_id" eval="ref('mass_mail_1')"/> <field name="message_id">1111004@odoo.com</field> <field name="model">res.partner</field> @@ -265,7 +264,7 @@ use="code"/> <value name="ip">100.01.02.03</value> <value name="country_code">BE</value> - <value name="mail_stat_id" eval="ref('mass_mail_1_stat_0')"/> + <value name="mailing_trace_id" eval="ref('mass_mail_1_stat_0')"/> </function> <function model="link.tracker.click" name="add_click"> <value model="link.tracker.code" @@ -273,7 +272,7 @@ use="code"/> <value name="ip">100.01.02.03</value> <value name="country_code">BE</value> - <value name="mail_stat_id" eval="ref('mass_mail_1_stat_0')"/> + <value name="mailing_trace_id" eval="ref('mass_mail_1_stat_0')"/> </function> <function model="link.tracker.click" name="add_click"> <value model="link.tracker.code" @@ -281,7 +280,7 @@ use="code"/> <value name="ip">100.01.02.04</value> <value name="country_code">BE</value> - <value name="mail_stat_id" eval="ref('mass_mail_1_stat_1')"/> + <value name="mailing_trace_id" eval="ref('mass_mail_1_stat_1')"/> </function> <function model="link.tracker.click" name="add_click"> <value model="link.tracker.code" @@ -289,7 +288,7 @@ use="code"/> <value name="ip">100.01.02.04</value> <value name="country_code">BE</value> - <value name="mail_stat_id" eval="ref('mass_mail_1_stat_0')"/> + <value name="mailing_trace_id" eval="ref('mass_mail_1_stat_0')"/> </function> <function model="link.tracker.click" name="add_click"> <value model="link.tracker.code" @@ -297,7 +296,7 @@ use="code"/> <value name="ip">100.01.02.05</value> <value name="country_code">BE</value> - <value name="mail_stat_id" eval="ref('mass_mail_1_stat_2')"/> + <value name="mailing_trace_id" eval="ref('mass_mail_1_stat_2')"/> </function> </data> |
