From 8cbac0506c46655d2fe4bee2d4c342d6a398b183 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Tue, 2 Nov 2021 10:10:10 +0000 Subject: [PATCH] [FIX] mail, various: remove outdated "render_safe" rendering option Render safe option was used with Jinja rendering to tell Jinja that content was safe and was not expected to be escaped. This was used notably in subject as characters like ``&`` was escaped in email subject (e.g. `R&D News`). This is now supported directly by the "inline template" rendering engine that is used to render text-based templates since Odoo v15 [1]. This option is not supported by code anymore anyway and leads to nothing. Task-2088884 (MailComposer: Onchange to editable computed stored) Task-2710804 (MailThread Api Cleaning) [1] See odoo/odoo@68182baff4bdf4b3bcc1f46b361f5a5b8ac9aa11 Prepares Task-2088884 (Mail: Composer Onchange to Editable Computed Stored) Part-of: odoo/odoo#94660 --- addons/mail/models/mail_template.py | 1 - addons/mail/wizard/mail_compose_message.py | 2 +- addons/survey/wizard/survey_invite.py | 2 +- addons/website_slides/wizard/slide_channel_invite.py | 2 +- 4 files changed, 3 insertions(+), 4 deletions(-) diff --git a/addons/mail/models/mail_template.py b/addons/mail/models/mail_template.py index af51abcb7da..90bf33b7136 100644 --- a/addons/mail/models/mail_template.py +++ b/addons/mail/models/mail_template.py @@ -193,7 +193,6 @@ class MailTemplate(models.Model): for field in fields: generated_field_values = template._render_field( field, template_res_ids, - options={'render_safe': field == 'subject'}, post_process=(field == 'body_html') ) for res_id, field_value in generated_field_values.items(): diff --git a/addons/mail/wizard/mail_compose_message.py b/addons/mail/wizard/mail_compose_message.py index 4a351470fb6..27e9d12a1f1 100644 --- a/addons/mail/wizard/mail_compose_message.py +++ b/addons/mail/wizard/mail_compose_message.py @@ -602,7 +602,7 @@ class MailComposer(models.TransientModel): multi_mode = False res_ids = [res_ids] - subjects = self._render_field('subject', res_ids, options={"render_safe": True}) + subjects = self._render_field('subject', res_ids) # We want to preserve comments in emails so as to keep mso conditionals bodies = self._render_field('body', res_ids, post_process=True, options={'preserve_comments': self.composition_mode == 'mass_mail'}) emails_from = self._render_field('email_from', res_ids) diff --git a/addons/survey/wizard/survey_invite.py b/addons/survey/wizard/survey_invite.py index 1608c72a996..9a1192448a6 100644 --- a/addons/survey/wizard/survey_invite.py +++ b/addons/survey/wizard/survey_invite.py @@ -210,7 +210,7 @@ class SurveyInvite(models.TransientModel): def _send_mail(self, answer): """ Create mail specific for recipient containing notably its access token """ - subject = self._render_field('subject', answer.ids, options={'render_safe': True})[answer.id] + subject = self._render_field('subject', answer.ids)[answer.id] body = self._render_field('body', answer.ids, post_process=True)[answer.id] # post the message mail_values = { diff --git a/addons/website_slides/wizard/slide_channel_invite.py b/addons/website_slides/wizard/slide_channel_invite.py index 7360f621628..be8ef6490c2 100644 --- a/addons/website_slides/wizard/slide_channel_invite.py +++ b/addons/website_slides/wizard/slide_channel_invite.py @@ -66,7 +66,7 @@ class SlideChannelInvite(models.TransientModel): def _prepare_mail_values(self, slide_channel_partner): """ Create mail specific for recipient """ - subject = self._render_field('subject', slide_channel_partner.ids, options={'render_safe': True})[slide_channel_partner.id] + subject = self._render_field('subject', slide_channel_partner.ids)[slide_channel_partner.id] body = self._render_field('body', slide_channel_partner.ids, post_process=True)[slide_channel_partner.id] # post the message mail_values = {