Skip to content
Snippets Groups Projects
Commit ff139374 authored by Roang's avatar Roang
Browse files

Update ConferenceRequiredMixin

Allow staff users to access the conference in the backoffice even if
it is not public.
parent ffa741d5
Branches
Tags
No related merge requests found
...@@ -31,10 +31,14 @@ class ConferenceRequiredMixin(PermissionRequiredMixin): ...@@ -31,10 +31,14 @@ class ConferenceRequiredMixin(PermissionRequiredMixin):
if conference_id is None: if conference_id is None:
try: try:
self._conference = Conference.objects.filter(is_public=True).first() self._conference = Conference.objects.filter(is_public=True).first()
except Conference.DoesNotExist:
try:
if self.request.user.is_staff:
self._conference = Conference.objects.first()
except Conference.DoesNotExist:
pass
if self._conference is not None: if self._conference is not None:
self.request.session['conference'] = self._conference.slug self.request.session['conference'] = self._conference.slug
except Conference.DoesNotExist:
return None
else: else:
try: try:
self._conference = Conference.objects.accessible_by_user(self.request.user).get(slug=conference_id) self._conference = Conference.objects.accessible_by_user(self.request.user).get(slug=conference_id)
...@@ -74,7 +78,7 @@ class ConferenceRequiredMixin(PermissionRequiredMixin): ...@@ -74,7 +78,7 @@ class ConferenceRequiredMixin(PermissionRequiredMixin):
def dispatch(self, request, *args, **kwargs): def dispatch(self, request, *args, **kwargs):
if self.require_conference and self.conference is None: if self.require_conference and self.conference is None:
return redirect('conference_selection') return redirect('backoffice:conference_selection')
if not self.has_permission(): if not self.has_permission():
raise PermissionDenied('Insufficient privileges.') raise PermissionDenied('Insufficient privileges.')
return super().dispatch(request, *args, **kwargs) return super().dispatch(request, *args, **kwargs)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment