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