From 440be3f9e2d7982c8a8eda1522035fcee4128136 Mon Sep 17 00:00:00 2001 From: "Anh Thao Pham (pta)" Date: Tue, 25 Jan 2022 07:20:04 +0000 Subject: [PATCH] [FIX] mail, mass_mailing: fix picture of masanry snippet in mailing test - Go to Email Marketing and create a new mailing - Add Masonry snippet in mail body - Send a test mail The picture of the Masonry snippet is missing. The masonry image is displayed with CSS via background-image attribute. There are 2 causes for this issue: 1) The relative url cannot be converted to an absolute one. This is due to the " entity used to surround the url that is not detected. style="background-image: url("/web/image/mass_mailing.s_masonry_block_default_image_1");" 2) html_sanitize is applied to mail body, but html_sanitize doesn't allow background-image style attribute. opw-2735636 closes odoo/odoo#83998 X-original-commit: cdcef228aa30d7dd4081fa25a1aab4811acda3ad Signed-off-by: Antoine Guenet --- addons/mail/models/mail_render_mixin.py | 2 +- addons/mass_mailing/wizard/mailing_mailing_test.py | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/addons/mail/models/mail_render_mixin.py b/addons/mail/models/mail_render_mixin.py index e716ed18067..0f78ca97639 100644 --- a/addons/mail/models/mail_render_mixin.py +++ b/addons/mail/models/mail_render_mixin.py @@ -166,7 +166,7 @@ class MailRenderMixin(models.AbstractModel): r"""( # Group 1: element up to url in style <[^>]+\bstyle=" # Element with a style attribute [^"]+\burl\( # Style attribute contains "url(" style - (?:&\#34;|')?) # url style may start with (escaped) quote: capture it + (?:&\#34;|'|")?) # url style may start with (escaped) quote: capture it ( # Group 2: url itself /(?:[^'")]|(?!&\#34;))+ # stop at the first closing quote )""", re.VERBOSE), _sub_relative2absolute, html) diff --git a/addons/mass_mailing/wizard/mailing_mailing_test.py b/addons/mass_mailing/wizard/mailing_mailing_test.py index a25edffc5b6..fe1d22fa68a 100644 --- a/addons/mass_mailing/wizard/mailing_mailing_test.py +++ b/addons/mass_mailing/wizard/mailing_mailing_test.py @@ -49,7 +49,6 @@ class TestMassMailing(models.TransientModel): # Convert links in absolute URLs before the application of the shortener full_body = self.env['mail.render.mixin']._replace_local_links(full_body) - full_body = tools.html_sanitize(full_body, sanitize_attributes=True, sanitize_style=True) for valid_email in valid_emails: mail_values = {