From a3fa2ee256a082a07d3dba4437aec2c8831ba6cd Mon Sep 17 00:00:00 2001 From: Yukai Xue <144064399+AlwinXue@users.noreply.github.com> Date: Mon, 30 Mar 2026 18:49:21 -0700 Subject: [PATCH] fix: harden report template for missing fields Made-with: Cursor --- apps/backend/app/utils/report_template.py | 20 ++++++++++++++++---- apps/backend/tests/test_report.py | 12 ++++++++++++ 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/apps/backend/app/utils/report_template.py b/apps/backend/app/utils/report_template.py index f3d06e2c..5459598f 100644 --- a/apps/backend/app/utils/report_template.py +++ b/apps/backend/app/utils/report_template.py @@ -1,6 +1,18 @@ def render_report_html(data): - params_html = "".join(f"{k}{v}" for k, v in data["asl_parameters"]) - missing_html = "".join(f"
  • {param}
  • " for param in data["missing_parameters"]) + asl_parameters = data.get("asl_parameters", {}) + if isinstance(asl_parameters, dict): + parameter_items = asl_parameters.items() + else: + parameter_items = asl_parameters + + missing_parameters = data.get("missing_required_parameters", data.get("missing_parameters", [])) + if isinstance(missing_parameters, dict): + missing_items = missing_parameters.keys() + else: + missing_items = missing_parameters + + params_html = "".join(f"{k}{v}" for k, v in parameter_items) + missing_html = "".join(f"
  • {param}
  • " for param in missing_items) return f""" @@ -18,9 +30,9 @@ def render_report_html(data): {params_html}

    Basic Report

    -

    {data["basic_report"]}

    +

    {data.get("basic_report", "No basic report available.")}

    Extended Report

    -

    {data["extended_report"]}

    +

    {data.get("extended_report", "No extended report available.")}

    Missing Parameters