42 lines
1.4 KiB
Python
42 lines
1.4 KiB
Python
from django.contrib import admin
|
|
from .models import Presentation, Slide, ReportTemplate, ReportTemplateSlide
|
|
|
|
|
|
class SlideInline(admin.TabularInline):
|
|
model = Slide
|
|
extra = 0
|
|
fields = ('order', 'layout', 'title', 'subtitle')
|
|
ordering = ('order',)
|
|
|
|
|
|
@admin.register(Presentation)
|
|
class PresentationAdmin(admin.ModelAdmin):
|
|
list_display = ('title', 'theme', 'status', 'created_by', 'hospital', 'slide_count', 'created_at')
|
|
list_filter = ('status', 'theme', 'hospital')
|
|
search_fields = ('title', 'description')
|
|
readonly_fields = ('created_at', 'updated_at')
|
|
inlines = [SlideInline]
|
|
|
|
|
|
@admin.register(Slide)
|
|
class SlideAdmin(admin.ModelAdmin):
|
|
list_display = ('__str__', 'layout', 'order', 'presentation')
|
|
list_filter = ('layout', 'presentation')
|
|
ordering = ('presentation', 'order')
|
|
|
|
|
|
class TemplateSlideInline(admin.TabularInline):
|
|
model = ReportTemplateSlide
|
|
extra = 0
|
|
fields = ('order', 'layout', 'title_template', 'subtitle_template', 'repeat_source', 'max_rows')
|
|
ordering = ('order',)
|
|
|
|
|
|
@admin.register(ReportTemplate)
|
|
class ReportTemplateAdmin(admin.ModelAdmin):
|
|
list_display = ('name', 'slug', 'data_source', 'active', 'slide_count', 'created_by', 'created_at')
|
|
list_filter = ('active', 'data_source')
|
|
search_fields = ('name', 'description')
|
|
readonly_fields = ('created_at', 'updated_at', 'parsed_structure')
|
|
inlines = [TemplateSlideInline]
|