from django.db.models import Q
import django_select2
-from emissions.models import SoundFile
+from emissions.models import SoundFile, Episode
class SoundFilesView(django_select2.views.Select2View):
def get_results(self, request, terms, page, context):
queryset = SoundFile.objects.all()
for term in terms.split():
- queryset = queryset.filter(Q(title__icontains=term) |
+ queryset = queryset.filter(podcastable=True).filter(Q(title__icontains=term) |
Q(episode__title__icontains=term) |
Q(episode__emission__title__icontains=term))
def fmt(soundfile):
return ('nil', False, ((x.id, fmt(x)) for x in queryset.select_related()))
soundfiles = SoundFilesView.as_view()
+
+
+class EpisodesView(django_select2.views.Select2View):
+ def get_results(self, request, terms, page, context):
+ queryset = Episode.objects.all()
+ for term in terms.split():
+ queryset = queryset.filter(Q(title__icontains=term) |
+ Q(emission__title__icontains=term))
+ def fmt(episode):
+ return '%s - %s' % (episode.emission.title, episode.title)
+ return ('nil', False, ((x.id, fmt(x)) for x in queryset.select_related()))
+
+episodes = EpisodesView.as_view()