From 189a4907c73e8914f1c5190fc16f41dbfffe9313 Mon Sep 17 00:00:00 2001
From: Lucas Brandstaetter <lucas@brandstaetter.tech>
Date: Sat, 2 Nov 2024 22:19:27 +0100
Subject: [PATCH] Fix member check in assembly create view

---
 src/backoffice/views/assemblies.py | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/backoffice/views/assemblies.py b/src/backoffice/views/assemblies.py
index d5c894fbc..3208942e5 100644
--- a/src/backoffice/views/assemblies.py
+++ b/src/backoffice/views/assemblies.py
@@ -58,7 +58,12 @@ class CreateAssemblyView(ConferenceLoginRequiredMixin, CreateView):
     template_name = 'backoffice/assembly_create.html'
 
     def dispatch(self, request: HttpRequest, *args, **kwargs) -> HttpResponse:
-        member = ConferenceMember.objects.get(conference=self.conference, user=request.user)
+        if not request.user.is_authenticated:
+            return redirect(f'{reverse('backoffice:login')}?next={reverse('backoffice:assembly-create')}')
+        try:
+            member = ConferenceMember.objects.get(conference=self.conference, user=request.user)
+        except ConferenceMember.DoesNotExist:
+            raise PermissionDenied
         if (member.is_staff and member.has_perms('core.assembly_team')) or self.conference.is_open:
             return super().dispatch(request, *args, **kwargs)
 
-- 
GitLab