diff --git a/src/backoffice/views/assemblies.py b/src/backoffice/views/assemblies.py index d5c894fbc64d1872d30c00d28867687532ad1b68..3208942e5a4c5400ec9ddf2ddcff58750cf44964 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)