mirror of
https://github.com/bringout/oca-technical.git
synced 2026-04-23 07:32:06 +02:00
Initial commit: OCA Technical packages (595 packages)
This commit is contained in:
commit
2cc02aac6e
24950 changed files with 2318079 additions and 0 deletions
|
|
@ -0,0 +1,45 @@
|
|||
# Copyright 2024 Dixmit
|
||||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
|
||||
|
||||
from odoo import api, fields, models
|
||||
|
||||
|
||||
class LinkTrackerClick(models.Model):
|
||||
_inherit = "link.tracker.click"
|
||||
|
||||
automation_record_step_id = fields.Many2one("automation.record.step")
|
||||
automation_configuration_step_id = fields.Many2one(
|
||||
related="automation_record_step_id.configuration_step_id", store=True
|
||||
)
|
||||
automation_configuration_id = fields.Many2one(
|
||||
related="automation_record_step_id.configuration_id", store=True
|
||||
)
|
||||
|
||||
@api.model
|
||||
def add_click(self, code, automation_record_step_id=False, **route_values):
|
||||
if automation_record_step_id:
|
||||
tracker_code = self.env["link.tracker.code"].search([("code", "=", code)])
|
||||
if not tracker_code:
|
||||
return None
|
||||
ip = route_values.get("ip", False)
|
||||
if self.search_count(
|
||||
[
|
||||
(
|
||||
"automation_record_step_id",
|
||||
"=",
|
||||
automation_record_step_id,
|
||||
),
|
||||
("link_id", "=", tracker_code.link_id.id),
|
||||
("ip", "=", ip),
|
||||
]
|
||||
):
|
||||
return None
|
||||
route_values["link_id"] = tracker_code.link_id.id
|
||||
click_values = self._prepare_click_values_from_route(
|
||||
automation_record_step_id=automation_record_step_id, **route_values
|
||||
)
|
||||
click = self.create(click_values)
|
||||
click.automation_record_step_id._set_mail_open()
|
||||
click.automation_record_step_id._set_mail_clicked()
|
||||
return click
|
||||
return super().add_click(code, **route_values)
|
||||
Loading…
Add table
Add a link
Reference in a new issue