Odoo18-Base/extra-addons/marketing_automation_sms/models/mailing_trace.py
hoangvv b8024171a2 - add modules(marketing automation + approvals + webstudio) \n
- create new module hr_promote (depend: hr,approvals) \n
- customize approval_type (WIP)
2025-01-17 07:32:51 +07:00

33 lines
1.4 KiB
Python

# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import models, _
from odoo.fields import Datetime
class MailingTrace(models.Model):
_inherit = 'mailing.trace'
def set_failed(self, domain=None, failure_type=None):
traces = super(MailingTrace, self).set_failed(domain=domain, failure_type=failure_type)
traces.marketing_trace_id.write({
'state': 'error',
'schedule_date': Datetime.now(),
'state_msg': _('SMS failed')
})
return traces
def set_clicked(self, domain=None):
traces = super(MailingTrace, self).set_clicked(domain=domain)
marketing_sms_traces = traces.filtered(lambda trace: trace.marketing_trace_id and trace.marketing_trace_id.activity_type == 'sms')
for marketing_trace in marketing_sms_traces.marketing_trace_id:
marketing_trace.process_event('sms_click')
return traces
def set_bounced(self, domain=None, bounce_message=False):
traces = super(MailingTrace, self).set_bounced(domain=domain, bounce_message=bounce_message)
marketing_sms_traces = traces.filtered(lambda trace: trace.marketing_trace_id and trace.marketing_trace_id.activity_type == 'sms')
for marketing_trace in marketing_sms_traces.marketing_trace_id:
marketing_trace.process_event('sms_bounce')
return traces