social/mail_tracking/models/mail_mail.py

38 lines
1.3 KiB
Python
Raw Normal View History

2018-03-19 16:41:26 +01:00
# Copyright 2016 Antonio Espinosa - <antonio.espinosa@tecnativa.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
import time
from datetime import datetime
from email.utils import COMMASPACE
2019-07-03 11:12:11 +02:00
2019-11-18 11:46:59 +01:00
from odoo import fields, models
class MailMail(models.Model):
2019-11-18 11:46:59 +01:00
_inherit = "mail.mail"
def _tracking_email_prepare(self, partner, email):
"""Prepare email.tracking.email record values"""
ts = time.time()
dt = datetime.utcfromtimestamp(ts)
2019-11-18 11:46:59 +01:00
email_to_list = email.get("email_to", [])
email_to = COMMASPACE.join(email_to_list)
return {
2019-11-18 11:46:59 +01:00
"name": self.subject,
"timestamp": "%.6f" % ts,
"time": fields.Datetime.to_string(dt),
"mail_id": self.id,
"mail_message_id": self.mail_message_id.id,
"partner_id": partner.id if partner else False,
"recipient": email_to,
"sender": self.email_from,
}
2018-11-05 17:26:01 +01:00
def _send_prepare_values(self, partner=None):
"""Creates the mail.tracking.email record and adds the image tracking
to the email"""
email = super()._send_prepare_values(partner=partner)
vals = self._tracking_email_prepare(partner, email)
2019-11-18 11:46:59 +01:00
tracking_email = self.env["mail.tracking.email"].sudo().create(vals)
return tracking_email.tracking_img_add(email)