From 351d714f2d4c200e8ab4263ff006ae33ec062d95 Mon Sep 17 00:00:00 2001 From: Fringg Date: Sat, 7 Mar 2026 16:48:18 +0300 Subject: [PATCH] fix: substitute sample context in admin test email for template overrides MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Same bug as notification_delivery_service — send_test_email used get_template_override (raw template) instead of get_rendered_override. Admins testing custom templates saw literal {days_left} placeholders instead of sample values. --- app/cabinet/routes/admin_email_templates.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/app/cabinet/routes/admin_email_templates.py b/app/cabinet/routes/admin_email_templates.py index 7e64ba3e..e9c9d88d 100644 --- a/app/cabinet/routes/admin_email_templates.py +++ b/app/cabinet/routes/admin_email_templates.py @@ -716,14 +716,13 @@ async def send_test_email( sample_context = SAMPLE_CONTEXTS.get(notification_type, {}) templates_instance = EmailNotificationTemplates() - # Check for DB override - from ..services.email_template_overrides import get_template_override + # Check for DB override (get_rendered_override substitutes sample context vars) + from ..services.email_template_overrides import get_rendered_override - override = await get_template_override(notification_type, language, db) + rendered = await get_rendered_override(notification_type, language, sample_context, db) - if override: - subject = override['subject'] - body_html = templates_instance._get_base_template(override['body_html'], language) + if rendered: + subject, body_html = rendered else: try: from app.services.notification_delivery_service import NotificationType