diff --git a/src/backoffice/views/mixins.py b/src/backoffice/views/mixins.py index 20bd7303b50c41cbdbcb4b2fa3af4ae9807a7b59..4fae86fa37db9c33a4e01433dc8794ad3dda9f60 100644 --- a/src/backoffice/views/mixins.py +++ b/src/backoffice/views/mixins.py @@ -31,10 +31,14 @@ class ConferenceRequiredMixin(PermissionRequiredMixin): if conference_id is None: try: self._conference = Conference.objects.filter(is_public=True).first() - if self._conference is not None: - self.request.session['conference'] = self._conference.slug except Conference.DoesNotExist: - return None + try: + if self.request.user.is_staff: + self._conference = Conference.objects.first() + except Conference.DoesNotExist: + pass + if self._conference is not None: + self.request.session['conference'] = self._conference.slug else: try: self._conference = Conference.objects.accessible_by_user(self.request.user).get(slug=conference_id) @@ -74,7 +78,7 @@ class ConferenceRequiredMixin(PermissionRequiredMixin): def dispatch(self, request, *args, **kwargs): if self.require_conference and self.conference is None: - return redirect('conference_selection') + return redirect('backoffice:conference_selection') if not self.has_permission(): raise PermissionDenied('Insufficient privileges.') return super().dispatch(request, *args, **kwargs)