diff --git a/apps/backend/app/utils/report_template.py b/apps/backend/app/utils/report_template.py
index f3d06e2c..219839a8 100644
--- a/apps/backend/app/utils/report_template.py
+++ b/apps/backend/app/utils/report_template.py
@@ -1,6 +1,19 @@
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"])
+ # 1. Safely handle asl_parameters (whether it's a dict or a list)
+ asl_params = data.get("asl_parameters", {})
+ if isinstance(asl_params, dict):
+ params_html = "".join(f"| {k} | {v} |
" for k, v in asl_params.items())
+ else:
+ params_html = "".join(f"| {k} | {v} |
" for k, v in asl_params)
+
+ # 2. Safely get missing parameters (checking both the new and old key names)
+ missing_params = data.get("missing_required_parameters", data.get("missing_parameters", []))
+ missing_html = "".join(f"{param}" for param in missing_params)
+
+ # 3. Safely get the reports with a fallback default string
+ basic_report = data.get("basic_report", "No basic report available.")
+ extended_report = data.get("extended_report", "No extended report available.")
+
return f"""
@@ -18,13 +31,13 @@ def render_report_html(data):
{params_html}
Basic Report
- {data["basic_report"]}
+ {basic_report}
Extended Report
- {data["extended_report"]}
+ {extended_report}
Missing Parameters
- """
+ """
\ No newline at end of file