diff options
Diffstat (limited to 'app/sightings/views.py')
-rw-r--r-- | app/sightings/views.py | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/app/sightings/views.py b/app/sightings/views.py new file mode 100644 index 0000000..f23898c --- /dev/null +++ b/app/sightings/views.py @@ -0,0 +1,48 @@ +from django.views.generic.detail import DetailView +from django.contrib.auth.models import User +from utils.views import PaginatedListView +from .models import AP, Sighting + +class SightingListView(PaginatedListView): + template_name = 'archives/sightings.html' + + def get_queryset(self): + return Sighting.objects.all() + + +class SightingListUserView(PaginatedListView): + template_name = 'archives/sightings.html' + + def get_queryset(self): + return Sighting.objects.filter( + seen_by__username=self.kwargs['user'] + ) + + def get_context_data(self, **kwargs): + # Call the base implementation first to get a context + context = super(SightingListUserView, self).get_context_data(**kwargs) + context['user'] = User.objects.get(username=self.kwargs['user']) + return context + + +class SightingDetailView(DetailView): + model = AP + template_name = "details/sighting.html" + slug_field = "slug" + + def get_context_data(self, **kwargs): + # Call the base implementation first to get a context + context = super(SightingDetailView, self).get_context_data(**kwargs) + #try: + # context['recording'] = SightingAudio.objects.get( + # ap__slug=self.kwargs['slug'] + # ) + #except SightingAudio.DoesNotExist: + # pass + try: + context['sighting'] = Sighting.objects.filter( + ap__slug=self.kwargs['slug'] + ) + except Sighting.DoesNotExist: + pass + return context |