diff --git a/addons/mail/models/mail_template.py b/addons/mail/models/mail_template.py index 3eff2c4bee2..5fe5f992bb3 100644 --- a/addons/mail/models/mail_template.py +++ b/addons/mail/models/mail_template.py @@ -652,6 +652,8 @@ class MailTemplate(models.Model): ) values['body_html'] = self.env['mail.render.mixin']._replace_local_links(body) + if 'body_html' in values: + values['body'] = values['body_html'] mail = self.env['mail.mail'].sudo().create(values) diff --git a/addons/test_mail/tests/test_mail_template.py b/addons/test_mail/tests/test_mail_template.py index 3ee49919545..5acd3ce20d6 100644 --- a/addons/test_mail/tests/test_mail_template.py +++ b/addons/test_mail/tests/test_mail_template.py @@ -105,6 +105,16 @@ class TestMailTemplate(TestMailTemplateCommon): self.assertFalse(mail.scheduled_date) self.assertEqual(mail.state, 'outgoing') + @mute_logger('odoo.addons.mail.models.mail_mail') + def test_template_send_mail_body(self): + """ Test that the body and body_html is set correctly in 'mail.mail' + when sending an email from mail.template """ + mail_id = self.test_template.send_mail(self.test_record.id) + mail = self.env['mail.mail'].sudo().browse(mail_id) + body_result = '
EnglishBody for %s
' % self.test_record.name + + self.assertEqual(mail.body_html, body_result) + self.assertEqual(mail.body, body_result) @tagged('mail_template', 'multi_lang') class TestMailTemplateLanguages(TestMailTemplateCommon):