From 69a0989b7aeb8ed82e70bc1839bb47773bdc4316 Mon Sep 17 00:00:00 2001 From: giles Date: Fri, 27 Feb 2026 10:41:40 +0000 Subject: [PATCH] Fix events: return 404 for deleted/missing calendar entries The before_request handler loaded the entry but didn't abort when it was None, causing template UndefinedError when building URLs with entry.id. Co-Authored-By: Claude Opus 4.6 --- events/bp/calendar_entry/routes.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/events/bp/calendar_entry/routes.py b/events/bp/calendar_entry/routes.py index 9400120..c44e94c 100644 --- a/events/bp/calendar_entry/routes.py +++ b/events/bp/calendar_entry/routes.py @@ -50,6 +50,7 @@ def register(): @bp.before_request async def load_entry(): """Load the calendar entry from the URL parameter.""" + from quart import abort entry_id = request.view_args.get("entry_id") if entry_id: result = await g.s.execute( @@ -60,6 +61,8 @@ def register(): ) ) g.entry = result.scalar_one_or_none() + if g.entry is None: + abort(404) @bp.context_processor async def inject_entry():