34 lines
865 B
Python
34 lines
865 B
Python
from django.contrib import admin
|
|
|
|
from .models import Choice, Question, Quiz, QuizAttempt
|
|
|
|
|
|
class ChoiceInline(admin.TabularInline):
|
|
model = Choice
|
|
extra = 2
|
|
|
|
|
|
class QuestionInline(admin.TabularInline):
|
|
model = Question
|
|
extra = 1
|
|
show_change_link = True
|
|
|
|
|
|
@admin.register(Quiz)
|
|
class QuizAdmin(admin.ModelAdmin):
|
|
list_display = ("title", "pass_threshold", "max_attempts", "time_limit_seconds", "feedback_mode")
|
|
inlines = [QuestionInline]
|
|
|
|
|
|
@admin.register(Question)
|
|
class QuestionAdmin(admin.ModelAdmin):
|
|
list_display = ("quiz", "order", "question_type", "points")
|
|
inlines = [ChoiceInline]
|
|
|
|
|
|
@admin.register(QuizAttempt)
|
|
class QuizAttemptAdmin(admin.ModelAdmin):
|
|
list_display = ("quiz", "user", "attempt_number", "status", "score_percent", "is_passed")
|
|
list_filter = ("status", "is_passed")
|
|
raw_id_fields = ("user",)
|