from django.views.generic import ListView from django.views.generic.detail import DetailView from django.views.generic.dates import DateDetailView from django.urls import reverse from django.contrib.syndication.views import Feed from django.apps import apps from django.shortcuts import get_object_or_404 from django.conf import settings from django.db.models import Q from utils.views import PaginatedListView, LuxDetailView from .models import Episode, Podcast class PodcastListView(PaginatedListView): """ Return a list of Episodes in reverse chronological order """ model = Podcast template_name = "podcasts/list.html" queryset = Episode.objects.filter(podcast=1).filter(status__exact=1).order_by('-pub_date') def get_context_data(self, **kwargs): context = super(PodcastListView, self).get_context_data(**kwargs) context['breadcrumbs'] = ['podcast',] context['podcast'] = Podcast.objects.get(slug=self.kwargs['slug']) return context class PodcastDetailView(LuxDetailView): """ Return a single episodes """ model = Podcast template_name = "podcasts/detail.html" def get_context_data(self, **kwargs): context = super(PodcastListView, self).get_context_data(**kwargs) context['breadcrumbs'] = ['podcast',] context['podcast'] = Podcast.objects.get(slug=self.kwargs['slug']) return context class EpisodeListView(PaginatedListView): """ Return a list of Episodes in reverse chronological order """ model = Episode template_name = "podcasts/list-episode.html" def get_context_data(self, **kwargs): context = super(EpisodeListView, self).get_context_data(**kwargs) context['breadcrumbs'] = ['podcast',] context['podcast'] = Podcast.objects.get(slug=self.kwargs['slug']) return context