56 lines
No EOL
1.9 KiB
Python
56 lines
No EOL
1.9 KiB
Python
from django.contrib import admin
|
|
from .models import Course, Module, Lesson, Comment
|
|
|
|
|
|
class LessonInline(admin.TabularInline):
|
|
model = Lesson
|
|
extra = 0
|
|
fields = ("name", "slug", "is_premium", "order")
|
|
ordering = ("order",)
|
|
prepopulated_fields = {"slug": ("name",)}
|
|
|
|
|
|
class ModuleInline(admin.TabularInline):
|
|
model = Module
|
|
extra = 0
|
|
fields = ("name", "slug", "enable", "order")
|
|
ordering = ("order",)
|
|
prepopulated_fields = {"slug": ("name",)}
|
|
|
|
|
|
@admin.register(Course)
|
|
class CourseAdmin(admin.ModelAdmin):
|
|
list_display = ("name", "slug", "author", "enable", "created_at", "updated_at")
|
|
list_filter = ("enable", "author", "created_at", "updated_at")
|
|
search_fields = ("name", "tags", "description", "author__username")
|
|
prepopulated_fields = {"slug": ("name",)}
|
|
readonly_fields = ("created_at", "updated_at")
|
|
inlines = [ModuleInline]
|
|
|
|
|
|
@admin.register(Module)
|
|
class ModuleAdmin(admin.ModelAdmin):
|
|
list_display = ("name", "slug", "course", "enable", "order", "created_at", "updated_at")
|
|
list_filter = ("enable", "course", "created_at", "updated_at")
|
|
search_fields = ("name", "description", "course__name")
|
|
prepopulated_fields = {"slug": ("name",)}
|
|
readonly_fields = ("created_at", "updated_at")
|
|
ordering = ("course", "order")
|
|
inlines = [LessonInline]
|
|
|
|
|
|
@admin.register(Lesson)
|
|
class LessonAdmin(admin.ModelAdmin):
|
|
list_display = ("name", "slug", "module", "is_premium", "order")
|
|
list_filter = ("is_premium", "module")
|
|
search_fields = ("name", "content", "module__name")
|
|
prepopulated_fields = {"slug": ("name",)}
|
|
ordering = ("module", "order")
|
|
|
|
|
|
@admin.register(Comment)
|
|
class CommentAdmin(admin.ModelAdmin):
|
|
list_display = ("lesson", "user", "created_at", "is_active")
|
|
list_filter = ("is_active", "created_at")
|
|
search_fields = ("content", "user__username", "lesson__name")
|
|
readonly_fields = ("created_at", "updated_at") |