From 07149660428b397a701d2cac07fa56248b81939b Mon Sep 17 00:00:00 2001 From: ijas ahammed Date: Mon, 4 Oct 2021 11:48:41 +0000 Subject: [PATCH] [IMP] {mass_mailing}_sms: add A/B Test related info in campaign This commit adds a new group `ab_test_group` after notebook of campaign form view, which displays A/B test related information. Below are the fields displayed within the group: - ab_testing_winner_selection - ab_testing_schedule_datetime They will become readonly as soon as the the A/B testing is completed. Apart from that, this commit makes the mailing/sms mailing lines editable. TaskID-2653806 Part-of: odoo/odoo#77768 --- addons/mass_mailing/models/utm_campaign.py | 4 ++-- addons/mass_mailing/views/utm_campaign_views.xml | 12 +++++++++++- addons/mass_mailing_sms/models/utm.py | 4 ++-- addons/mass_mailing_sms/views/utm_campaign_views.xml | 5 ++++- 4 files changed, 19 insertions(+), 6 deletions(-) diff --git a/addons/mass_mailing/models/utm_campaign.py b/addons/mass_mailing/models/utm_campaign.py index 7913cc44bdc..2dfeaa996f3 100644 --- a/addons/mass_mailing/models/utm_campaign.py +++ b/addons/mass_mailing/models/utm_campaign.py @@ -66,8 +66,8 @@ class UtmCampaign(models.Model): mapped_data = dict() ab_testing_mapped_data = dict() for campaign in self: - campaign.mailing_mail_count = sum(mapped_data.get(campaign.id, [])) - campaign.ab_testing_mailings_count = sum(ab_testing_mapped_data.get(campaign.id, [])) + campaign.mailing_mail_count = sum(mapped_data.get(campaign._origin.id or campaign.id, [])) + campaign.ab_testing_mailings_count = sum(ab_testing_mapped_data.get(campaign._origin.id or campaign.id, [])) @api.constrains('ab_testing_total_pc', 'ab_testing_completed') def _check_ab_testing_total_pc(self): diff --git a/addons/mass_mailing/views/utm_campaign_views.xml b/addons/mass_mailing/views/utm_campaign_views.xml index 7e7aa7663a4..df84df801c3 100644 --- a/addons/mass_mailing/views/utm_campaign_views.xml +++ b/addons/mass_mailing/views/utm_campaign_views.xml @@ -24,7 +24,7 @@ - + @@ -45,6 +45,16 @@ + + + + + + + + + diff --git a/addons/mass_mailing_sms/models/utm.py b/addons/mass_mailing_sms/models/utm.py index 94c7de9a9ad..6034079c61f 100644 --- a/addons/mass_mailing_sms/models/utm.py +++ b/addons/mass_mailing_sms/models/utm.py @@ -50,8 +50,8 @@ class UtmCampaign(models.Model): mapped_sms_data = dict() ab_testing_mapped_sms_data = dict() for campaign in self: - campaign.mailing_sms_count = sum(mapped_sms_data.get(campaign.id, [])) - campaign.ab_testing_mailings_sms_count = sum(ab_testing_mapped_sms_data.get(campaign.id, [])) + campaign.mailing_sms_count = sum(mapped_sms_data.get(campaign._origin.id or campaign.id, [])) + campaign.ab_testing_mailings_sms_count = sum(ab_testing_mapped_sms_data.get(campaign._origin.id or campaign.id, [])) def action_create_mass_sms(self): action = self.env["ir.actions.actions"]._for_xml_id("mass_mailing.action_create_mass_mailings_from_campaign") diff --git a/addons/mass_mailing_sms/views/utm_campaign_views.xml b/addons/mass_mailing_sms/views/utm_campaign_views.xml index 75e10d4b511..4704013ed29 100644 --- a/addons/mass_mailing_sms/views/utm_campaign_views.xml +++ b/addons/mass_mailing_sms/views/utm_campaign_views.xml @@ -25,7 +25,7 @@ attrs="{'invisible': ['|', ('mailing_sms_count', '=', 0), ('is_mailing_campaign_activated', '=', False)]}" groups="mass_mailing.group_mass_mailing_user"> - + @@ -46,6 +46,9 @@ + + {'invisible': [('ab_testing_mailings_sms_count', '=', 0), ('ab_testing_mailings_count', '=', 0)]} +