summaryrefslogtreecommitdiff
path: root/app/posts/views
diff options
context:
space:
mode:
Diffstat (limited to 'app/posts/views')
-rw-r--r--app/posts/views/film_views.py51
-rw-r--r--app/posts/views/friends_views.py1
2 files changed, 51 insertions, 1 deletions
diff --git a/app/posts/views/film_views.py b/app/posts/views/film_views.py
new file mode 100644
index 0000000..3122240
--- /dev/null
+++ b/app/posts/views/film_views.py
@@ -0,0 +1,51 @@
+from django.views.generic import ListView
+from django.views.generic.detail import DetailView
+from django.contrib.syndication.views import Feed
+from django.apps import apps
+from django.conf import settings
+
+from utils.views import PaginatedListView, LuxDetailView
+
+from ..models import Post, PostType
+from taxonomy.models import Category
+
+
+class FilmListView(PaginatedListView):
+ model = Post
+ template_name = "posts/film_list.html"
+
+ def get_queryset(self):
+ queryset = super(FilmListView, self).get_queryset()
+ return queryset.filter(site__domain='luxagraf.net').filter(post_type__in=[PostType.FILM]).filter(status__exact=1).order_by('-pub_date').prefetch_related('location').prefetch_related('featured_image')
+
+ def get_context_data(self, **kwargs):
+ '''
+ override for custom breadcrumb path
+ '''
+ # Call the base implementation first to get a context
+ context = super(FilmListView, self).get_context_data(**kwargs)
+ context['breadcrumbs'] = ('Film',)
+ return context
+
+
+class FilmDetailView(LuxDetailView):
+ model = Post
+ slug_field = "slug"
+
+ def get_queryset(self):
+ queryset = super(FilmDetailView, self).get_queryset()
+ return queryset.select_related('location').prefetch_related('field_notes')
+
+ def get_context_data(self, **kwargs):
+ context = super(FilmDetailView, self).get_context_data(**kwargs)
+ related = []
+ for obj in self.object.related.all():
+ model = apps.get_model(obj.model_name.app_label, obj.model_name.model)
+ related.append(model.objects.get(slug=obj.slug, pub_date=obj.pub_date))
+ context['related'] = related
+ return context
+
+ def get_template_names(self):
+ obj = self.get_object()
+ return ["posts/film_detail.html"]
+
diff --git a/app/posts/views/friends_views.py b/app/posts/views/friends_views.py
index 3d6ea8d..c83ca36 100644
--- a/app/posts/views/friends_views.py
+++ b/app/posts/views/friends_views.py
@@ -29,7 +29,6 @@ class FriendsListView(PaginatedListView):
"""
model = Post
template_name = "posts/friends_list.html"
- queryset = Post.objects.filter(post_type=PostType.FRIENDS,status=1).order_by('-pub_date')
def get_context_data(self, **kwargs):
context = super(FriendsListView, self).get_context_data(**kwargs)