Files
enterprise-addons/marketing_automation_whatsapp/models/link_tracker_click.py
T

27 lines
1007 B
Python

from odoo import api, fields, models
class LinkTrackerClick(models.Model):
_inherit = "link.tracker.click"
whatsapp_message_id = fields.Many2one('whatsapp.message', string='Whatsapp Message', ondelete="set null")
def _prepare_click_values_from_route(self, **route_values):
click_values = super()._prepare_click_values_from_route(**route_values)
if 'campaign_id' not in click_values and 'whatsapp_message_id' in route_values:
wa_msg = self.env['whatsapp.message'].browse(route_values['whatsapp_message_id'])
utm_campaign = wa_msg.marketing_trace_ids.activity_id.campaign_id.utm_campaign_id
if utm_campaign:
click_values['campaign_id'] = utm_campaign.id
return click_values
@api.model
def add_click(self, code, **route_values):
click = super().add_click(code, **route_values)
if click and click.whatsapp_message_id:
click.whatsapp_message_id.set_clicked()
return click