Browse Source

[FIX] mail_tracking_mailgun: Avoid errors without event

When this method is called without an event (a.k.a. `event=None`), this method produces the following error:

```
Traceback (most recent call last):
  File "/opt/odoo/auto/addons/mail/models/mail_mail.py", line 278, in send
    res = IrMailServer.send_email(msg, mail_server_id=mail.mail_server_id.id)
  File "/opt/odoo/auto/addons/mail_tracking/models/ir_mail_server.py", line 88, in send_email
    tracking_email.smtp_error(self, smtp_server_used, e)
  File "/opt/odoo/auto/addons/mail_tracking/models/mail_tracking_email.py", line 213, in smtp_error
    self.sudo()._partners_email_bounced_set('error')
  File "/opt/odoo/auto/addons/mail_tracking/models/mail_tracking_email.py", line 203, in
_partners_email_bounced_set
    ]).email_bounced_set(self, reason, event=event)
  File "/opt/odoo/auto/addons/mail_tracking_mailgun/models/res_partner.py", line 22, in
email_bounced_set
    self._email_bounced_set(reason, event)
  File "/opt/odoo/auto/addons/mail_tracking_mailgun/models/res_partner.py", line 33, in
_email_bounced_set
    event['Message-Id'] or '') TypeError: 'NoneType' object has no attribute '__getitem__'
```

So, we now assume we do not always have an event.
pull/226/head
Jairo Llopis 7 years ago
parent
commit
d3623da759
  1. 3
      mail_tracking_mailgun/models/res_partner.py

3
mail_tracking_mailgun/models/res_partner.py

@ -30,7 +30,8 @@ class ResPartner(models.Model):
body = _('Email has been bounced: %s\n' body = _('Email has been bounced: %s\n'
'Reason: %s\n' 'Reason: %s\n'
'Event: %s') % (partner.email, reason, 'Event: %s') % (partner.email, reason,
event.get('Message-Id', _('unknown')))
event and event.get('Message-Id',
_('unknown')))
partner.message_post(body=body) partner.message_post(body=body)
@api.multi @api.multi

Loading…
Cancel
Save