diff options
Diffstat (limited to 'app/posts/views')
-rw-r--r-- | app/posts/views/guide_views.py | 36 |
1 files changed, 30 insertions, 6 deletions
diff --git a/app/posts/views/guide_views.py b/app/posts/views/guide_views.py index aea91dd..c5fdd55 100644 --- a/app/posts/views/guide_views.py +++ b/app/posts/views/guide_views.py @@ -58,24 +58,48 @@ class ReviewsListView(GuideListView): return context -class EssayListView(PaginatedListView): +class NotesListView(PaginatedListView): model = Post - template_name = "posts/essay_list.html" + template_name = "posts/note_list.html" def get_queryset(self): - queryset = super(EssayListView, self).get_queryset() - return queryset.filter(site__domain='luxagraf.net').filter(post_type__in=[PostType.ESSAY]).filter(status__exact=1).order_by('-pub_date').prefetch_related('location').prefetch_related('featured_image') + queryset = super(NotesListView, self).get_queryset() + return queryset.filter(site__domain='luxagraf.net').filter(post_type__in=[PostType.NOTE]).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(EssayListView, self).get_context_data(**kwargs) - context['breadcrumbs'] = ('Essays',) + context = super(NotesListView, self).get_context_data(**kwargs) + context['breadcrumbs'] = ('Notes',) return context + +class NoteDetailView(LuxDetailView): + model = Post + slug_field = "slug" + + def get_queryset(self): + queryset = super(EssayDetailView, self).get_queryset() + return queryset.select_related('location').prefetch_related('field_notes') + + def get_context_data(self, **kwargs): + context = super(EssayDetailView, 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/%s_detail.html" % obj.get_post_type_display(), 'posts/post_detail.html'] + + + class PostDetailView(LuxDetailView): model = Post slug_field = "slug" |