From 4436b2a9f8c546b81cea3db0d9773a2d1ffbadfd Mon Sep 17 00:00:00 2001 From: Mohamed El Amine BOUKERFA Date: Fri, 12 Jun 2026 00:35:56 +0200 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F(backend)=20let=20callers=20o?= =?UTF-8?q?verride=20document=20email=20context=20defaults?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We need this so mention notification emails can replace the default share link with a link to the anchor of the mention. --- src/backend/core/models.py | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/src/backend/core/models.py b/src/backend/core/models.py index 0c23abab4..054e1f94f 100644 --- a/src/backend/core/models.py +++ b/src/backend/core/models.py @@ -1336,21 +1336,22 @@ class Document(MP_Node, BaseModel): } def send_email(self, subject, emails, context=None, language=None): - """Generate and send email from a template.""" - context = context or {} + """Generate and send email from a template. + + Keys passed in `context` take precedence over the default values. + """ domain = settings.EMAIL_URL_APP or Site.objects.get_current().domain language = language or get_language() - context.update( - { - "brandname": settings.EMAIL_BRAND_NAME, - "document": self, - "domain": domain, - "link": f"{domain}/docs/{self.id}/?utm_source=docssharelink&utm_campaign={self.id}", - "link_label": self.title or str(_("Untitled Document")), - "button_label": _("Open"), - "logo_img": settings.EMAIL_LOGO_IMG, - } - ) + context = { + "brandname": settings.EMAIL_BRAND_NAME, + "document": self, + "domain": domain, + "link": f"{domain}/docs/{self.id}/?utm_source=docssharelink&utm_campaign={self.id}", + "link_label": self.title or str(_("Untitled Document")), + "button_label": _("Open"), + "logo_img": settings.EMAIL_LOGO_IMG, + **(context or {}), + } with override(language): msg_html = render_to_string("mail/html/template.html", context)