from utils.views import LuxDetailView from django.views.generic import DetailView from locations.models import LuxCheckIn 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" template_name = "pages/page_detail.txt" 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.JRNL).filter(status__exact=1).order_by('-pub_date').exclude().select_related('location').select_related('featured_image')[1:9] context['location'] = LuxCheckIn.objects.latest() return context