summaryrefslogtreecommitdiff
path: root/app/unused_apps/birds/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'app/unused_apps/birds/views.py')
-rw-r--r--app/unused_apps/birds/views.py49
1 files changed, 49 insertions, 0 deletions
diff --git a/app/unused_apps/birds/views.py b/app/unused_apps/birds/views.py
new file mode 100644
index 0000000..4d7f59e
--- /dev/null
+++ b/app/unused_apps/birds/views.py
@@ -0,0 +1,49 @@
+from django.views.generic.detail import DetailView
+from django.contrib.auth.models import User
+from utils.views import PaginatedListView
+from birds.models import Bird, BirdAudio, BirdSighting
+
+
+class BirdListView(PaginatedListView):
+ template_name = 'archives/birds.html'
+
+ def get_queryset(self):
+ return BirdSighting.objects.all()
+
+
+class BirdListUserView(PaginatedListView):
+ template_name = 'archives/birds.html'
+
+ def get_queryset(self):
+ return BirdSighting.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(BirdListUserView, self).get_context_data(**kwargs)
+ context['user'] = User.objects.get(username=self.kwargs['user'])
+ return context
+
+
+class BirdDetailView(DetailView):
+ model = Bird
+ template_name = "details/bird.html"
+ slug_field = "slug"
+
+ def get_context_data(self, **kwargs):
+ # Call the base implementation first to get a context
+ context = super(BirdDetailView, self).get_context_data(**kwargs)
+ try:
+ context['recording'] = BirdAudio.objects.get(
+ bird__slug=self.kwargs['slug']
+ )
+ except BirdAudio.DoesNotExist:
+ pass
+ try:
+ context['sighting'] = BirdSighting.objects.get(
+ bird__slug=self.kwargs['slug']
+ )
+ except BirdSighting.DoesNotExist:
+ pass
+ return context