Odoo Mindscape. Understand Odoo faster. Explore modules, fields, dependencies and version differences in one place instead of digging through the source code.

Module: SMS Marketing

Entity: utm.campaign

Compute Method: _compute_mailing_sms_count

Inputs Method Outputs
  • id
mailing_sms_data = self.env['mailing.mailing']._read_group(
            [('campaign_id', 'in', self.ids), ('mailing_type', '=', 'sms')],
            ['campaign_id', 'ab_testing_enabled'],
            ['__count'],
        )
ab_testing_mapped_sms_data = defaultdict(list)
mapped_sms_data = defaultdict(list)
for campaign, ab_testing_enabled, count in mailing_sms_data:
            if ab_testing_enabled:
                ab_testing_mapped_sms_data[campaign.id].append(count)
            mapped_sms_data[campaign.id].append(count)
for campaign in self:
            campaign.mailing_sms_count = sum(mapped_sms_data[campaign.id])
            campaign.ab_testing_mailings_sms_count = sum(ab_testing_mapped_sms_data[campaign.id])

Back to entity