X-Git-Url: https://git.0d.be/?p=django-panik-combo.git;a=blobdiff_plain;f=panikombo%2Fviews.py;h=47262add7bbe04137044066d956d091366f76718;hp=9fc516d418980dcd049cc1e69a393a464d99dcff;hb=e960f6c41cc47f908e5e685e9f8be029cce3d8c3;hpb=ed37c5bdd689bba07688b86822025a50cbcb1f0a diff --git a/panikombo/views.py b/panikombo/views.py index 9fc516d..47262ad 100644 --- a/panikombo/views.py +++ b/panikombo/views.py @@ -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()