skillbox/server/book/admin.py

34 lines
912 B
Python

from django.contrib import admin
from book.models import Book, Topic, Module
class TopicListFilter(admin.SimpleListFilter):
title = 'topic modules'
parameter_name = 'topic_modules'
def lookups(self, request, model_admin):
return list((topic.slug, topic.title) for topic in Topic.objects.all())
def queryset(self, request, queryset):
filter_value = self.value()
topic = Topic.objects.filter(slug=filter_value).first()
if topic:
return Module.get_topic_modules(topic)
@admin.register(Book)
class BookAdmin(admin.ModelAdmin):
list_display = ('title', 'slug')
@admin.register(Topic)
class TopicAdmin(admin.ModelAdmin):
list_display = ('title', 'slug', 'teaser', 'description')
@admin.register(Module)
class ModuleAdmin(admin.ModelAdmin):
list_display = ('title', 'slug', 'meta_title', 'teaser')
list_filter = (TopicListFilter, )