From 033f22e1973a5c0304a398a4210b3cf2a4f71b01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 16 Dec 2020 21:34:06 +0100 Subject: [PATCH] Add format methods from Report to email rendering context issue9785 review328761002 --- CHANGELOG | 2 ++ marketing_automation.py | 16 ++++++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 67532ac62d..6471083b80 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,5 @@ +* Add format methods from Report to email rendering context + Version 5.8.0 - 2020-11-02 * Bug fixes (see mercurial logs for details) * Remove support for Python 3.5 diff --git a/marketing_automation.py b/marketing_automation.py index 51f62cdf92..379cccc4b1 100644 --- a/marketing_automation.py +++ b/marketing_automation.py @@ -589,12 +589,13 @@ class Activity(ModelSQL, ModelView): yield END, QName('img'), pos yield kind, data, pos + context = self.email_context(record) title = (TextTemplate(translated.email_title) - .generate(record=record.record) + .generate(**context) .render()) template = MarkupTemplate(translated.email_template) content = (template - .generate(record=record.record) + .generate(**context) .filter(convert_href) .render()) @@ -617,6 +618,17 @@ class Activity(ModelSQL, ModelView): sendmail_transactional( self.email_from, to_addrs, msg, datamanager=smtpd_datamanager) + def email_context(self, record): + return { + 'record': record.record, + 'format_date': Report.format_date, + 'format_datetime': Report.format_datetime, + 'format_timedelta': Report.format_timedelta, + 'format_currency': Report.format_currency, + 'format_number': Report.format_number, + 'datetime': datetime, + } + class Record(ModelSQL, ModelView): "Marketing Record"