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': 140}), "a_feedback" : TinyMCE(attrs={'cols': 80, 'rows': 5}, mce_attrs={'height': 140}), "b_answer" : TinyMCE(attrs={'cols': 80, 'rows': 4}, mce_attrs={'height': 140}), "c_answer" : TinyMCE(attrs={'cols': 80, 'rows': 4}, mce_attrs={'height': 140}), "d_answer" : TinyMCE(attrs={'cols': 80, 'rows': 4}, mce_attrs={'height': 140}), "e_answer" : TinyMCE(attrs={'cols': 80, 'rows': 4}, mce_attrs={'height': 140}), "b_feedback" : TinyMCE(attrs={'cols': 80, 'rows': 4}, mce_attrs={'height': 140}), "c_feedback" : TinyMCE(attrs={'cols': 80, 'rows': 4}, mce_attrs={'height': 140}), "d_feedback" : TinyMCE(attrs={'cols': 80, 'rows': 4}, mce_attrs={'height': 140}), "e_feedback" : TinyMCE(attrs={'cols': 80, 'rows': 4}, mce_attrs={'height': 140}), } 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)