summaryrefslogtreecommitdiff
path: root/app/pages/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'app/pages/views.py')
-rw-r--r--app/pages/views.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/app/pages/views.py b/app/pages/views.py
new file mode 100644
index 0000000..7ea2439
--- /dev/null
+++ b/app/pages/views.py
@@ -0,0 +1,40 @@
+from utils.views import LuxDetailView
+from django.views.generic import DetailView
+
+from posts.models import Post, PostType
+from .models import Page, HomePage
+
+
+class PageDetailView(LuxDetailView):
+ model = Page
+
+ def get_template_names(self):
+ obj = self.get_object()
+ return ["pages/%s.html" % (obj.slug), 'pages/page_detail.html']
+
+
+class PageDetailTXTView(LuxDetailView):
+ model = Page
+ slug_field = "slug"
+
+ def get_template_names(self):
+ obj = self.get_object()
+ return 'pages/%s/page_detail.txt'% obj.site.name
+
+
+class HomePageList(DetailView):
+ """
+ Return a main entry and list of Entries in reverse chronological order
+ """
+ model = HomePage
+
+ def get_template_names(self):
+ return ["pages/%s.html" % self.template_name, 'pages/homepage.html']
+
+ def get_context_data(self, **kwargs):
+ # Call the base implementation first to get a context
+ context = super(HomePageList, self).get_context_data(**kwargs)
+ context['object_list'] = Post.objects.filter(post_type=PostType.HOMEPAGE).filter(status__exact=1).order_by('-pub_date')[1:9]
+ return context
+
+