From 8e3f8149bd06c38620abe6c0f227b4c75859b1c4 Mon Sep 17 00:00:00 2001
From: Jonathan Weth <git@jonathanweth.de>
Date: Tue, 31 May 2022 14:51:59 +0200
Subject: [PATCH] Add error handling for PDF generation view

---
 aleksis/apps/kort/views.py | 21 ++++++++++++++-------
 1 file changed, 14 insertions(+), 7 deletions(-)

diff --git a/aleksis/apps/kort/views.py b/aleksis/apps/kort/views.py
index 787408a..e6bf277 100644
--- a/aleksis/apps/kort/views.py
+++ b/aleksis/apps/kort/views.py
@@ -105,13 +105,20 @@ class CardPrintView(PermissionRequiredMixin, RevisionMixin, SingleObjectMixin, V
         printer = self.request.GET.get("printer")
         printer = get_object_or_404(CardPrinter, pk=printer)
 
-        self.object.print_card(printer)
-        messages.success(
-            request,
-            _(
-                "The print job for the card {} on the printer {} has been created successfully."
-            ).format(self.object.person, printer.name),
-        )
+        try:
+            job = self.object.print_card(printer)
+            messages.success(
+                request,
+                _(
+                    "The print job #{} for the card {} on "
+                    "the printer {} has been created successfully."
+                ).format(job.pk, self.object.person, printer.name),
+            )
+        except ValueError as e:
+            messages.error(
+                request,
+                _("The print job couldn't be started because of the following error: {}").format(e),
+            )
 
         return redirect(self.success_url)
 
-- 
GitLab