74 lines
1.6 KiB
Python
Executable File
74 lines
1.6 KiB
Python
Executable File
from django.contrib import admin
|
|
from .models import Long, LongImage, Examination, Site, Abnormality, Region, Note, LongCreationDefault, Answer, Exam
|
|
|
|
import tagulous.admin
|
|
|
|
from django.forms import ModelForm
|
|
|
|
from reversion.admin import VersionAdmin
|
|
from django.forms.widgets import RadioSelect
|
|
|
|
# Register your models here.
|
|
admin.site.register(Examination)
|
|
admin.site.register(Site)
|
|
admin.site.register(Exam)
|
|
admin.site.register(Abnormality)
|
|
admin.site.register(Region)
|
|
admin.site.register(Note)
|
|
admin.site.register(LongCreationDefault)
|
|
admin.site.register(Answer)
|
|
|
|
class LongAnswersInline(admin.TabularInline):
|
|
model = Answer
|
|
extra = 1
|
|
|
|
|
|
class LongImageInline(admin.TabularInline):
|
|
model = LongImage
|
|
extra = 1
|
|
readonly_fields = [
|
|
"image_tag",
|
|
]
|
|
|
|
class ExamInline(admin.TabularInline):
|
|
model = Long.exams.through
|
|
extra = 1
|
|
|
|
|
|
class LongAdminForm(ModelForm):
|
|
class Meta:
|
|
model = Long
|
|
|
|
fields = [
|
|
"normal", "abnormality", "region", "laterality", "examination",
|
|
"site", "sign", "condition", "feedback", "author"
|
|
]
|
|
|
|
widgets = {
|
|
"laterality": RadioSelect(attrs={'style': 'display: inline-flex'}),
|
|
}
|
|
|
|
|
|
class LongAdmin(VersionAdmin):
|
|
form = LongAdminForm
|
|
|
|
filter_horizontal = (
|
|
"abnormality",
|
|
"region",
|
|
#"examination",
|
|
)
|
|
save_on_top = True
|
|
save_as = True
|
|
view_on_site = True
|
|
|
|
inlines = [
|
|
LongImageInline,
|
|
LongAnswersInline,
|
|
ExamInline,
|
|
]
|
|
|
|
|
|
admin.site.register(Long, LongAdmin)
|
|
|
|
#tagulous.admin.register(Long.condition)
|