From bc8f4373c32449cd1ef95ea7ed40fb53fd7f3dd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Hennecart?= Date: Thu, 19 Aug 2021 11:55:24 +0000 Subject: [PATCH] [IMP] mass_mailing(_sms): a/b testing Manage correctly a/b testing in mass_mailing. We can now organize a mass_mailing campaign by testing multiple mailings for the recipients targeted (subject, templates, design, ...) For this a new tab on the mailing record is added to better promote the existence of the feature. When an user has the group to manage mailing campaign, he can access the tab A/B Test. This tab allows to enable A/B testing for the mailing. If there is no campaign set for the mailing, one is automatically created allowing the user to continue smoothly. Once A/B testing enable, the percentage of recipients use can be set for each mailings. Also, the user can choose the deciding factor that will set the final mailing as winner. In a case, the user is not in manual mode, he can set the schedule datetime for sending the final mailing. task-2123242 COM PR: odoo/odoo#75622 ENT PR: odoo/enterprise#20454 UPG PR: odoo/upgrade#2781 Signed-off-by: Thibault Delavallee (tde) --- .../data/mailing_data_templates.xml | 35 +++ .../mass_mailing/data/mass_mailing_data.xml | 14 +- addons/mass_mailing/models/mailing.py | 211 ++++++++++++++++-- .../models/res_config_settings.py | 6 + addons/mass_mailing/models/utm.py | 67 +++++- .../static/src/js/mass_mailing_widget.js | 2 +- addons/mass_mailing/tests/__init__.py | 1 + addons/mass_mailing/tests/common.py | 12 + .../tests/test_mailing_ab_testing.py | 139 ++++++++++++ .../views/mailing_mailing_views.xml | 92 +++++--- .../views/res_config_settings_views.xml | 2 +- addons/mass_mailing_crm/models/__init__.py | 1 + addons/mass_mailing_crm/models/utm.py | 10 + addons/mass_mailing_crm_sms/__init__.py | 4 + addons/mass_mailing_crm_sms/__manifest__.py | 13 ++ .../mass_mailing_crm_sms/models/__init__.py | 4 + addons/mass_mailing_crm_sms/models/utm.py | 10 + addons/mass_mailing_sale/models/__init__.py | 1 + addons/mass_mailing_sale/models/utm.py | 13 ++ addons/mass_mailing_sale_sms/__init__.py | 4 + addons/mass_mailing_sale_sms/__manifest__.py | 13 ++ .../mass_mailing_sale_sms/models/__init__.py | 4 + addons/mass_mailing_sale_sms/models/utm.py | 13 ++ .../models/mailing_mailing.py | 47 +++- addons/mass_mailing_sms/models/utm.py | 23 ++ .../views/mailing_mailing_views.xml | 35 ++- 26 files changed, 707 insertions(+), 69 deletions(-) create mode 100644 addons/mass_mailing/tests/test_mailing_ab_testing.py create mode 100644 addons/mass_mailing_crm/models/utm.py create mode 100644 addons/mass_mailing_crm_sms/__init__.py create mode 100644 addons/mass_mailing_crm_sms/__manifest__.py create mode 100644 addons/mass_mailing_crm_sms/models/__init__.py create mode 100644 addons/mass_mailing_crm_sms/models/utm.py create mode 100644 addons/mass_mailing_sale/models/utm.py create mode 100644 addons/mass_mailing_sale_sms/__init__.py create mode 100644 addons/mass_mailing_sale_sms/__manifest__.py create mode 100644 addons/mass_mailing_sale_sms/models/__init__.py create mode 100644 addons/mass_mailing_sale_sms/models/utm.py diff --git a/addons/mass_mailing/data/mailing_data_templates.xml b/addons/mass_mailing/data/mailing_data_templates.xml index b0f2d5d09eb..8022779537b 100644 --- a/addons/mass_mailing/data/mailing_data_templates.xml +++ b/addons/mass_mailing/data/mailing_data_templates.xml @@ -1,6 +1,41 @@ + +