summaryrefslogtreecommitdiff
path: root/app/posts/views/guide_views.py
blob: e19a7dbe61856d2e7de4c77c465824fd07322db1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
from django.views.generic import ListView
from django.views.generic.detail import DetailView
from django.contrib.syndication.views import Feed
from django.urls import reverse
from django.apps import apps
from django.conf import settings

from utils.views import PaginatedListView, LuxDetailView

from ..models import Guide, Post, PostType
from taxonomy.models import Category


class GuideListView(PaginatedListView):
    """
    Return a list of Entries in reverse chronological order
    """
    model = Guide
    template_name = "posts/guide_base.html"

    def get_queryset(self):
        queryset = super(GuideListView, self).get_queryset()
        return queryset.filter(status__exact=1)


class GuideDetailView(LuxDetailView):
    model = Guide
    slug_field = "slug"


    def get_context_data(self, **kwargs):
        context = super(GuideDetailView, 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
        context['breadcrumbs'] = ('Guides', self.object.title )
        context['crumb_url'] = reverse('guides:guide-list')
        return context


class GuidePostDetailView(LuxDetailView):
    model = Post 
    slug_field = "slug"
    template_name = "posts/guide_post_detail.html"