51 lines
1.3 KiB
Python
51 lines
1.3 KiB
Python
from django.contrib import admin
|
|
|
|
from .models import Choice, Grade, Lesson, Node, Question, Unit, UserAnswer, UserLessonCompletion
|
|
|
|
|
|
class ChoiceInline(admin.TabularInline):
|
|
model = Choice
|
|
extra = 1
|
|
|
|
|
|
@admin.register(Grade)
|
|
class GradeAdmin(admin.ModelAdmin):
|
|
list_display = ('id', 'title', 'icon', 'color')
|
|
|
|
|
|
@admin.register(Unit)
|
|
class UnitAdmin(admin.ModelAdmin):
|
|
list_display = ('id', 'title', 'grade', 'order')
|
|
list_filter = ('grade',)
|
|
|
|
|
|
@admin.register(Node)
|
|
class NodeAdmin(admin.ModelAdmin):
|
|
list_display = ('id', 'title', 'unit', 'order')
|
|
list_filter = ('unit',)
|
|
|
|
|
|
@admin.register(Lesson)
|
|
class LessonAdmin(admin.ModelAdmin):
|
|
list_display = ('id', 'title', 'node')
|
|
list_filter = ('node',)
|
|
|
|
|
|
@admin.register(Question)
|
|
class QuestionAdmin(admin.ModelAdmin):
|
|
list_display = ('id', 'prompt', 'lesson', 'type')
|
|
list_filter = ('type', 'lesson')
|
|
inlines = [ChoiceInline]
|
|
|
|
|
|
@admin.register(UserLessonCompletion)
|
|
class UserLessonCompletionAdmin(admin.ModelAdmin):
|
|
list_display = ('id', 'user_id', 'lesson', 'correct_count', 'stars', 'xp_earned', 'coins_earned')
|
|
list_filter = ('lesson',)
|
|
|
|
|
|
@admin.register(UserAnswer)
|
|
class UserAnswerAdmin(admin.ModelAdmin):
|
|
list_display = ('id', 'user_id', 'question', 'choice', 'correct', 'xp_earned')
|
|
list_filter = ('correct',)
|