diff --git a/mail_tracking/models/mail_tracking_email.py b/mail_tracking/models/mail_tracking_email.py
index 053687fbc..72590c3eb 100644
--- a/mail_tracking/models/mail_tracking_email.py
+++ b/mail_tracking/models/mail_tracking_email.py
@@ -42,6 +42,7 @@ class MailTrackingEmail(models.Model):
mail_message_id = fields.Many2one(
string="Message", comodel_name="mail.message", readonly=True, index=True
)
+ message_id = fields.Char(compute="_compute_message_id")
mail_id = fields.Many2one(string="Email", comodel_name="mail.mail", readonly=True)
partner_id = fields.Many2one(
string="Partner", comodel_name="res.partner", readonly=True
@@ -112,6 +113,15 @@ class MailTrackingEmail(models.Model):
groups="base.group_system",
)
+ @api.depends("mail_message_id")
+ def _compute_message_id(self):
+ """This helper field will allow us to map the message_id from either the linked
+ mail.message or a mass.mailing mail.trace.
+ """
+ self.message_id = False
+ for tracking in self.filtered("mail_message_id"):
+ tracking.message_id = tracking.mail_message_id.message_id
+
@api.model_create_multi
def create(self, vals_list):
records = super().create(vals_list)
diff --git a/mail_tracking_mailgun/models/mail_tracking_email.py b/mail_tracking_mailgun/models/mail_tracking_email.py
index 529925fb9..f16ff9513 100644
--- a/mail_tracking_mailgun/models/mail_tracking_email.py
+++ b/mail_tracking_mailgun/models/mail_tracking_email.py
@@ -202,12 +202,8 @@ class MailTrackingEmail(models.Model):
https://documentation.mailgun.com/en/latest/api-events.html
"""
api_key, api_url, domain, *__ = self._mailgun_values()
- for tracking in self:
- if not tracking.mail_message_id:
- raise UserError(_("There is no tracked message!"))
- message_id = tracking.mail_message_id.message_id.replace("<", "").replace(
- ">", ""
- )
+ for tracking in self.filtered("message_id"):
+ message_id = tracking.message_id.replace("<", "").replace(">", "")
events = []
url = urljoin(api_url, "/v3/%s/events" % domain)
params = {
diff --git a/mail_tracking_mailgun/views/mail_tracking_email.xml b/mail_tracking_mailgun/views/mail_tracking_email.xml
index d62e00ee1..f3efc6505 100644
--- a/mail_tracking_mailgun/views/mail_tracking_email.xml
+++ b/mail_tracking_mailgun/views/mail_tracking_email.xml
@@ -7,10 +7,12 @@
+