From 081db63b170400d96fd13ee53bcec07a7ebd091e Mon Sep 17 00:00:00 2001 From: Joshua Laymon Date: Fri, 22 Aug 2025 13:20:59 +0000 Subject: [PATCH] Update web/core/views.py --- web/core/views.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/web/core/views.py b/web/core/views.py index 6798d73..f14efcb 100644 --- a/web/core/views.py +++ b/web/core/views.py @@ -401,7 +401,22 @@ def import_wizard(request): core_utils.EXPECTED_HEADERS = EXPECTED # Run your robust importer - report = import_csv_bytes(fixed_raw, dry_run=form.cleaned_data["dry_run"]) or {} +# ... inside import_wizard, after: +report = import_csv_bytes(fixed_raw, dry_run=form.cleaned_data["dry_run"]) or {} + +# Ensure we have a canonical column list (matching your CSV order) +expected = [ + "Subject", "Illustration", "Application", "Scripture", "Source", + "Talk Title", "Talk Number", "Code", "Date", "Date Edited", +] +report.setdefault("columns", expected) + +# If the importer returned preview rows as dicts, convert them to list-of-lists +preview = report.get("preview") or [] +if preview and isinstance(preview[0], dict): + cols = report["columns"] + report["preview"] = [[(row.get(c) or "") for c in cols] for row in preview] + report["header_ok"] = header_ok # Normalize preview for the template: list of rows + columns list