Files
penracourses/sbas/admin.py
T
Ross f446875702 .
2021-08-20 21:47:24 +01:00

64 lines
1.9 KiB
Python

from django.contrib import admin
# Register your models here.
from .models import Question, Exam, CidUserAnswer, Category
import tagulous.admin
from django.forms import ModelForm
from reversion.admin import VersionAdmin
from django.forms.widgets import RadioSelect
from tinymce.widgets import TinyMCE
class ExamInline(admin.TabularInline):
model = Question.exams.through
extra = 1
class QuestionAdminForm(ModelForm):
class Meta:
model = Question
exclude = []
widgets = {
# "normal": RadioSelect(
# choices=[(True, 'Yes'),
# (False, 'No')])
"stem" : TinyMCE(attrs={'cols': 80, 'rows': 30}),
"feedback" : TinyMCE(attrs={'cols': 80, 'rows': 30}),
"a_answer" : TinyMCE(attrs={'cols': 80, 'rows': 5}, mce_attrs={'height': 80}),
"a_feedback" : TinyMCE(attrs={'cols': 80, 'rows': 5}),
"b_answer" : TinyMCE(attrs={'cols': 80, 'rows': 4}),
"c_answer" : TinyMCE(attrs={'cols': 80, 'rows': 4}),
"d_answer" : TinyMCE(attrs={'cols': 80, 'rows': 4}),
"e_answer" : TinyMCE(attrs={'cols': 80, 'rows': 4}),
"b_feedback" : TinyMCE(attrs={'cols': 80, 'rows': 4}),
"c_feedback" : TinyMCE(attrs={'cols': 80, 'rows': 4}),
"d_feedback" : TinyMCE(attrs={'cols': 80, 'rows': 4}),
"e_feedback" : TinyMCE(attrs={'cols': 80, 'rows': 4}),
}
class QuestionAdmin(VersionAdmin):
form = QuestionAdminForm
save_on_top = True
save_as = True
view_on_site = True
inlines = [
ExamInline,
]
class ExamAdmin(VersionAdmin, admin.ModelAdmin):
save_as = True
admin.site.register(Category)
admin.site.register(Question, QuestionAdmin)
admin.site.register(Exam, ExamAdmin)
class CidUserAnswerAdmin(admin.ModelAdmin):
exclude = []
readonly_fields = ["created", "updated"]
admin.site.register(CidUserAnswer, CidUserAnswerAdmin)