Add comment system with models, forms, and UI integration for lessons
This commit is contained in:
parent
c22622ebc1
commit
95111240bc
26 changed files with 1001 additions and 77 deletions
|
|
@ -1,16 +1,56 @@
|
|||
from django.contrib import admin
|
||||
from .models import *
|
||||
from .models import Course, Module, Lesson, Comment
|
||||
|
||||
# Register your models here.
|
||||
class CategoriesAdmin(admin.ModelAdmin):
|
||||
fieldsets = [
|
||||
('Nom', {'fields': ['name']}),
|
||||
('Description', {'fields': ['content']}),
|
||||
('Date de cr"ation', {'fields': ['created_at']}),
|
||||
]
|
||||
list_display = ('name', 'content', 'type')
|
||||
list_filter = ['type', 'name']
|
||||
search_fields = ['name', 'content']
|
||||
|
||||
admin.site.register(Course)
|
||||
admin.site.register(Lesson)
|
||||
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")
|
||||
Loading…
Add table
Add a link
Reference in a new issue