Skip to content
Snippets Groups Projects

Update composer value based on template counterpart for Redner integration

Merged oury.balde requested to merge topic/18.0/ob into branch/18.0
3 files
+ 26
18
Compare changes
  • Side-by-side
  • Inline
Files
3
@@ -6,11 +6,13 @@
is_redner_template = fields.Boolean(related="template_id.is_redner_template")
def get_mail_values(self, res_ids):
"""
Overrides the get_mail_values method to enhance email value retrieval
based on mass mail mode and redner template.
"""
all_mail_values = super().get_mail_values(res_ids)
mass_mail_mode = self.composition_mode == "mass_mail"
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
)
@@ -16,7 +18,6 @@
# Check if in mass mail mode and if redner template exists
if mass_mail_mode and self.model and self.template_id.is_redner_template:
template_values = self.generate_email_for_composer(
self.template_id.id, res_ids, ["body_html"]
)
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
@@ -22,6 +23,5 @@
# Update email values with rendered content
for res_id in res_ids:
body = template_values[res_id]["body"]
all_mail_values[res_id].update({"body": body, "body_html": body})
template_rendered = self.template_id._patch_email_values(
{composer_fname: {}}, rendering_res_ids[0]
)[composer_fname]
@@ -27,2 +27,5 @@
return all_mail_values
self[composer_fname] = template_rendered
return self[composer_fname]
return res
Loading