aircox-radiocampus/aircox/views/article.py
2019-09-05 14:12:12 +02:00

37 lines
952 B
Python

from ..models import Article, Program
from .page import ParentMixin, PageDetailView, PageListView
__all__ = ['ArticleDetailView', 'ArticleListView']
class ArticleDetailView(PageDetailView):
show_side_nav = True
model = Article
def get_side_queryset(self):
qs = Article.objects.select_related('cover') \
.filter(is_static=False) \
.order_by('-date')
return qs
def get_context_data(self, **kwargs):
if self.object.program is not None:
kwargs.setdefault('parent', self.object.program)
return super().get_context_data(**kwargs)
class ArticleListView(ParentMixin, PageListView):
model = Article
template_name = 'aircox/article_list.html'
show_headline = True
is_static = False
parent_model = Program
fk_parent = 'program'
def get_queryset(self):
return super().get_queryset().filter(is_static=self.is_static)