summaryrefslogtreecommitdiff
path: root/app/sightings/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'app/sightings/views.py')
-rw-r--r--app/sightings/views.py48
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