Files
penracourses/atlas/admin.py
T
Ross 9f54a9c108 .
2022-03-23 22:06:33 +00:00

113 lines
2.4 KiB
Python
Executable File

from django.contrib import admin
from .models import (
Case,
CaseDetail,
CaseCollection,
Differential,
Series,
SeriesImage,
Condition,
Subspecialty,
Finding,
SeriesFinding,
Structure,
PathologicalProcess,
Presentation,
)
import tagulous.admin
from django.forms import ModelForm
from reversion.admin import VersionAdmin
from django.forms.widgets import RadioSelect
from tinymce.widgets import TinyMCE
# from generic.models import Examination, Sign, Site, Condition
from generic.models import Examination
# Register your models here.
# admin.site.register(Examination)
# admin.site.register(Site)
admin.site.register(SeriesImage)
admin.site.register(Condition)
admin.site.register(Subspecialty)
admin.site.register(Finding)
admin.site.register(Structure)
admin.site.register(SeriesFinding)
admin.site.register(Differential)
admin.site.register(PathologicalProcess)
admin.site.register(Presentation)
admin.site.register(CaseDetail)
class DifferentialInline(admin.TabularInline):
model = Differential
class CasesInline(admin.TabularInline):
model = CaseDetail
class CaseCollectionAdminForm(ModelForm):
class Meta:
model = CaseCollection
exclude = []
class CaseCollectionAdmin(VersionAdmin):
form = CaseCollectionAdminForm
save_on_top = True
save_as = True
view_on_site = True
inlines = (CasesInline,)
admin.site.register(CaseCollection, CaseCollectionAdmin)
class AtlasAdminForm(ModelForm):
class Meta:
model = Case
fields = [
"title",
"description",
"history",
"discussion",
"condition",
"differential",
"subspecialty",
"author",
"series",
]
widgets = {
# "normal": RadioSelect(
# choices=[(True, 'Yes'),
# (False, 'No')])
"history": TinyMCE(attrs={"cols": 80, "rows": 30}),
"discussion": TinyMCE(attrs={"cols": 80, "rows": 30}),
}
class AtlasAdmin(VersionAdmin):
form = AtlasAdminForm
save_on_top = True
save_as = True
view_on_site = True
inlines = (DifferentialInline,)
admin.site.register(Case, AtlasAdmin)
class SeriesAdmin(VersionAdmin):
pass
admin.site.register(Series, SeriesAdmin)