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