27:from app.services.variable_engine import GeneratedValues, VariableEngine
146:        g = GeneratedValues(
152:            due_date=var_cfg.get("due_date", ""),
158:        result_html = engine.substitute(template.body_html, rec, g, custom_fields=cf,
160:        result_text = engine.substitute(template.body_text or _plain_fallback(result_html),
170:                    att_html = engine.substitute(att_tpl.body_html, rec, g, custom_fields=cf,
175:                    att_html = engine.substitute(att.html_attachment_body or "", rec, g,
=== total_recipients set? ===
app/api/routers/campaigns.py:93:        "total_recipients": c.total_recipients, "sent_count": c.sent_count,
app/api/routers/campaigns.py:396:        c.total_recipients = result.get("total", 0)
app/api/routers/campaigns.py:459:    total = c.total_recipients or 0
