def __call__(self, request):
url = resolve(request.path_info)
event_slug = url.kwargs.get('event')
if event_slug:
request.event = get_object_or_404(
Event,
slug__iexact=event_slug,
)
if hasattr(request, 'event') and request.event:
if not request.user.is_anonymous:
request.is_orga = request.user.is_superuser or EventPermission.objects.filter(
user=request.user,
event=request.event,
is_orga=True
).exists()
request.is_reviewer = request.user.is_superuser or EventPermission.objects.filter(
user=request.user,
event=request.event,
is_reviewer=True
).exists()
else:
request.is_orga = False
request.is_reviewer = False
timezone.activate(pytz.timezone(request.event.timezone))
self._set_orga_events(request)
if 'orga' in url.namespaces:
url = self._handle_orga_url(request, url)
if url:
return redirect(url)
return self.get_response(request)
评论列表
文章目录