* fixed 404 errors in the gallery.
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
"""Mixins for Events."""
|
||||
from django.db.models import Q
|
||||
from django.http import Http404
|
||||
from django.shortcuts import get_object_or_404
|
||||
|
||||
from . import models
|
||||
|
||||
|
||||
@@ -54,6 +56,20 @@ class EventDetailMixin(object):
|
||||
self.event = get_object_or_404(models.Event, pk=self.kwargs['pk'])
|
||||
queryset = self.model.objects.all()
|
||||
else:
|
||||
self.event = get_object_or_404(models.Event, pk=self.kwargs['event'])
|
||||
self.event = get_object_or_404(models.Event,
|
||||
pk=self.kwargs['event'])
|
||||
queryset = self.model.objects.filter(event=self.event)
|
||||
return queryset.prefetch_related()
|
||||
|
||||
|
||||
class EventPhotoMixin(EventDetailMixin):
|
||||
|
||||
def get_queryset(self):
|
||||
try:
|
||||
self.event = models.Event.objects.get(id=self.kwargs['event'])
|
||||
return models.Photo.objects.filter(
|
||||
Q(event=self.event) |
|
||||
Q(event__event_series=self.event)
|
||||
)
|
||||
except models.Event.DoesNotExist:
|
||||
raise Http404(_('Event does not exist'))
|
||||
|
||||
@@ -110,7 +110,7 @@ class EventListIcal(generic.View):
|
||||
return response
|
||||
|
||||
|
||||
class EventPhoto(mixins.EventDetailMixin, generic.UpdateView):
|
||||
class EventPhoto(mixins.EventPhotoMixin, generic.UpdateView):
|
||||
"""Display the requested Photo and allows rotation if the user has change
|
||||
permissions."""
|
||||
form_class = forms.EditPhotoForm
|
||||
@@ -127,7 +127,7 @@ class EventPhoto(mixins.EventDetailMixin, generic.UpdateView):
|
||||
return generic.UpdateView.post(self, request, *args, **kwargs)
|
||||
|
||||
|
||||
class EventPhotoList(mixins.EventDetailMixin, generic.ListView):
|
||||
class EventPhotoList(mixins.EventPhotoMixin, generic.ListView):
|
||||
"""List all Photos of the event or event series in an album."""
|
||||
context_object_name = 'photo_list'
|
||||
event = None
|
||||
@@ -139,16 +139,6 @@ class EventPhotoList(mixins.EventDetailMixin, generic.ListView):
|
||||
initial={'event': self.event, 'photographer': self.request.user})
|
||||
return context
|
||||
|
||||
def get_queryset(self):
|
||||
try:
|
||||
self.event = models.Event.objects.get(id=self.kwargs['event'])
|
||||
return models.Photo.objects.filter(
|
||||
Q(event=self.event) |
|
||||
Q(event__event_series=self.event)
|
||||
)
|
||||
except models.Event.DoesNotExist:
|
||||
raise Http404(_('Event does not exist'))
|
||||
|
||||
|
||||
class EventPhotoUpload(mixins.EventDetailMixin, generic.FormView):
|
||||
form_class = forms.PhotoUploadForm
|
||||
|
||||
Reference in New Issue
Block a user