add episode filters

This commit is contained in:
bkfox
2022-02-22 18:48:17 +01:00
parent 849a14014c
commit cd360d9ac7
5 changed files with 13 additions and 17 deletions

View File

@ -4,6 +4,7 @@ import datetime
from django.utils.translation import gettext_lazy as _
from django.views.generic import ListView
from ..filters import EpisodeFilters
from ..models import Diffusion, Episode, Program, StaticPage, Sound
from .base import BaseView
from .program import ProgramPageDetailView
@ -25,22 +26,12 @@ class EpisodeDetailView(ProgramPageDetailView):
class EpisodeListView(PageListView):
model = Episode
filterset_class = EpisodeFilters
item_template_name = 'aircox/widgets/episode_item.html'
has_headline = True
parent_model = Program
attach_to_value = StaticPage.ATTACH_TO_EPISODES
def get_queryset(self):
qs = super().get_queryset()
if self.filters and 'podcasts' in self.filters:
qs = qs.filter(sound__is_public=True)
return qs
def get_filters(self):
return super().get_filters() + (
(_('Podcasts'), 'podcasts', tuple()),
)
class DiffusionListView(GetDateMixin, AttachedToMixin, BaseView, ListView):
""" View for timetables """

View File

@ -107,4 +107,3 @@ class FiltersMixin:
kwargs['get_params'] = params.pop('page', True) and params
return super().get_context_data(**kwargs)