]> git.0d.be Git - django-panik-combo.git/blobdiff - panikombo/views.py
add minimalistic 'episode' cell type
[django-panik-combo.git] / panikombo / views.py
index 9fc516d418980dcd049cc1e69a393a464d99dcff..47262add7bbe04137044066d956d091366f76718 100644 (file)
@@ -1,7 +1,7 @@
 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):
@@ -17,3 +17,16 @@ class SoundFilesView(django_select2.views.Select2View):
         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()