[FIX] website_mail_channel: prevent crash in python3 email lib
`AttributeError: 'tuple' object has no attribute 'startswith'`
When given headers that are tuples. They are expected to be string, as per [1].
The issue was introduced with [2], indeed the code was moved from inside a dict
where `,` was the usual dict separator to outside of a dict where `,` at the end
made them tuples.
To reproduce the issue, run the `test_mail` suite after having
`website_mail_channel` installed.
Issue highlighted as part of task-2178641
[1] https://docs.python.org/3/library/email.policy.html#email.policy.Policy.header_store_parse
[2] cae1c3977f
closes odoo/odoo#43698
X-original-commit: 7e5a7245e86d8a3bcdab83c740cb4d188d009a40
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
This commit is contained in:
@@ -5,8 +5,7 @@ import hmac
|
||||
|
||||
from werkzeug import urls
|
||||
|
||||
from odoo import api, models
|
||||
from odoo.tools.safe_eval import safe_eval
|
||||
from odoo import models
|
||||
from odoo.addons.http_routing.models.ir_http import slug
|
||||
|
||||
|
||||
@@ -16,9 +15,9 @@ class MailGroup(models.Model):
|
||||
def _notify_email_header_dict(self):
|
||||
headers = super(MailGroup, self)._notify_email_header_dict()
|
||||
base_url = self.env['ir.config_parameter'].sudo().get_param('web.base.url')
|
||||
headers['List-Archive'] = '<%s/groups/%s>' % (base_url, slug(self)),
|
||||
headers['List-Subscribe'] = '<%s/groups>' % (base_url),
|
||||
headers['List-Unsubscribe'] = '<%s/groups?unsubscribe>' % (base_url,),
|
||||
headers['List-Archive'] = '<%s/groups/%s>' % (base_url, slug(self))
|
||||
headers['List-Subscribe'] = '<%s/groups>' % (base_url)
|
||||
headers['List-Unsubscribe'] = '<%s/groups?unsubscribe>' % (base_url,)
|
||||
return headers
|
||||
|
||||
def _send_confirmation_email(self, partner_ids, unsubscribe=False):
|
||||
|
||||
Reference in New Issue
Block a user