PURPOSE Move links shortening tools on mail.render.mixin to have rendering and post procesing tools available on that mixin. SPECIFICATIONS Move html and text links shortening methods on mail.render.mixin class. That way rendering and post processing is done in that mixin instead of being specific to link.tracker model. Indeed those methods are tools and not really business related methods. Future commits will improve the way mail and sms composer use the render mixin. This commit is therefore both a cleaning and preparing commit. LINKS Task ID 1963529 Community PR odoo/odoo#32397
22 lines
747 B
Python
22 lines
747 B
Python
# -*- coding: utf-8 -*-
|
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
from odoo import fields, models
|
|
|
|
|
|
class UtmCampaign(models.Model):
|
|
_inherit = ['utm.campaign']
|
|
_description = 'UTM Campaign'
|
|
|
|
click_count = fields.Integer(string="Number of clicks generated by the campaign", compute="_compute_clicks_count")
|
|
|
|
def _compute_clicks_count(self):
|
|
click_data = self.env['link.tracker.click'].read_group(
|
|
[('campaign_id', 'in', self.ids)],
|
|
['campaign_id'], ['campaign_id'])
|
|
|
|
mapped_data = {datum['campaign_id'][0]: datum['campaign_id_count'] for datum in click_data}
|
|
|
|
for campaign in self:
|
|
campaign.click_count = mapped_data.get(campaign.id, 0)
|