christchurch_django / sermons / views.py

from django.conf import settings
from django.shortcuts import render
from django_easyfilters import FilterSet

from sermons.models import Sermon

class SermonFilterSet(FilterSet):
    fields = [
        ('speaker', dict(order_by_count=True)),
        'series',
        'bible_book',
        ('date_delivered', dict(max_links=6,
                                max_depth='month')),
        ]

    title_fields = [
        'speaker',
        'series',
        'bible_book'
        ]


def index(request):
    sermons = Sermon.objects.filter(published=True).select_related('series', 'speaker').order_by('-date_delivered', '-time_delivered')
    sermonsfilter = SermonFilterSet(sermons, request.GET)
    return render(request, "sermons/index.html", {'sermons': sermonsfilter.qs,
                                                  'sermonsfilter': sermonsfilter})
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.