christchurch_django / sermons /

from functools import partial

from django.contrib import admin
from django.forms.models import modelform_factory

from sermons.models import Speaker, Topic, Series, Sermon

class SpeakerAdmin(admin.ModelAdmin):
    list_display = ['name']

class TopicAdmin(admin.ModelAdmin):
    list_display = ['name']

class SeriesAdmin(admin.ModelAdmin):
    list_display = ['name']

class SermonAdmin(admin.ModelAdmin):
    list_display = ['date_delivered', 'time_delivered', 'speaker', 'title', 'bible_book', 'passage', 'series', 'published']
    list_filter = ['published', 'speaker', 'series']
    date_hierarchy = 'date_delivered'
    list_per_page = 200

    def get_form(self, request, obj=None, **kwargs):
        if obj is None:
            # For add view, we have a simplified form that just has an upload field.
            return modelform_factory(self.model,
                                     formfield_callback=partial(self.formfield_for_dbfield, request=request),)
            return super(SermonAdmin, self).get_form(request, obj=obj, **kwargs)

    def save_model(self, request, obj, form, change):
        if is None:
            from sermons.tags import set_attrs_from_filename
            from sermons.tags import write_id3_tags
            write_id3_tags(obj), SpeakerAdmin), TopicAdmin), SeriesAdmin), SermonAdmin)
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
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.