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