Waiting list: Fix crash with invalid subevent id

This commit is contained in:
Raphael Michel
2023-12-21 13:42:35 +01:00
parent 4a49519869
commit 092b51f8f3

View File

@@ -24,6 +24,7 @@ from datetime import timedelta
from django.conf import settings from django.conf import settings
from django.contrib import messages from django.contrib import messages
from django.db import transaction from django.db import transaction
from django.http import Http404
from django.shortcuts import get_object_or_404, redirect, render from django.shortcuts import get_object_or_404, redirect, render
from django.utils.decorators import method_decorator from django.utils.decorators import method_decorator
from django.utils.timezone import now from django.utils.timezone import now
@@ -107,8 +108,11 @@ class WaitingView(EventViewMixin, FormView):
self.subevent = None self.subevent = None
if request.event.has_subevents: if request.event.has_subevents:
if 'subevent' in request.GET: if 'subevent' in request.GET:
self.subevent = get_object_or_404(SubEvent, event=request.event, pk=request.GET['subevent'], try:
active=True) self.subevent = get_object_or_404(SubEvent, event=request.event, pk=request.GET['subevent'],
active=True)
except ValueError:
raise Http404()
else: else:
messages.error(request, pgettext_lazy('subevent', "You need to select a date.")) messages.error(request, pgettext_lazy('subevent', "You need to select a date."))
return redirect(self.get_index_url()) return redirect(self.get_index_url())