Newer
Older
from odoo import fields, models # type: ignore[import-untyped]
class MailComposer(models.TransientModel):
_inherit = "mail.compose.message"
is_redner_template = fields.Boolean(related="template_id.is_redner_template")
def _set_value_from_template(self, template_fname, composer_fname=False):
"""Override: Set composer value from its template counterpart, considering
redner integration."""
self.ensure_one()
composer_fname = composer_fname or template_fname
res = super()._set_value_from_template(
template_fname, composer_fname=composer_fname
)
if self.is_redner_template and template_fname == "body_html":
if self.composition_mode == "comment" and not self.composition_batch:
res_ids = self._evaluate_res_ids()
rendering_res_ids = res_ids or [0] # Fallback to dummy ID
template_rendered = self.template_id._patch_email_values(
{composer_fname: {}}, rendering_res_ids[0]
)[composer_fname]
self[composer_fname] = template_rendered
return self[composer_fname]
return res