diff --git a/todo/operations/csv_importer.py b/todo/operations/csv_importer.py index 9fb3b18..7b847fa 100644 --- a/todo/operations/csv_importer.py +++ b/todo/operations/csv_importer.py @@ -54,10 +54,10 @@ class CSVImporter: "Priority", ] if header != expected: - self.results.get("summaries").append( + self.errors.append( f"Inbound data does not have expected columns.\nShould be: {expected}" ) - return self.results + return for row in csv_reader: self.line_count += 1 diff --git a/todo/views/import_csv.py b/todo/views/import_csv.py index 189eb58..def3564 100644 --- a/todo/views/import_csv.py +++ b/todo/views/import_csv.py @@ -24,6 +24,12 @@ def import_csv(request) -> HttpResponse: importer = CSVImporter() results = importer.upsert(filepath) - ctx["results"] = results + + ctx["results"] = None + if results: + ctx["results"] = results + else: + messages.error(request, "Could not parse provided CSV file.") + return redirect(reverse("todo:import_csv")) return render(request, "todo/import_csv.html", context=ctx)