from django.contrib import admin from . import models class EnsembleAccessInline(admin.StackedInline): model = models.EnsembleAccess extra = 0 class CollectionAdmin(admin.ModelAdmin): list_display = ['name', 'location', 'storage', 'prefix'] inlines = [EnsembleAccessInline] admin.site.register(models.Collection, CollectionAdmin) class ItemInline(admin.TabularInline): model = models.ProjectItem extra = 0 class DocInline(admin.TabularInline): model = models.Document extra = 0 class MetaInline(admin.TabularInline): model = models.WorkMeta extra = 0 class WorkAdmin(admin.ModelAdmin): list_display = ['name', 'composer', 'edition', 'identifier', 'running_time'] list_filter = ['collection'] search_fields = ['name', 'composer'] inlines = [MetaInline, DocInline, ItemInline] admin.site.register(models.Work, WorkAdmin) class SectionInline(admin.TabularInline): model = models.Section fields = ['type', 'tag', 'ordinal', 'start', 'end', 'page'] class DocumentAdmin(admin.ModelAdmin): list_display = ['work', '__str__'] list_filter = ['work__collection'] inlines = [SectionInline] admin.site.register(models.Document, DocumentAdmin) class ItemAdmin(admin.ModelAdmin): list_display = ['project', 'work', 'order'] list_filter = ['project'] admin.site.register(models.ProjectItem, ItemAdmin) class EnsembleAccessAdmin(admin.ModelAdmin): list_display = ['ensemble', 'collection', 'access_type'] list_filter = ['ensemble'] admin.site.register(models.EnsembleAccess, EnsembleAccessAdmin) class OrchestrationAdmin(admin.ModelAdmin): list_display = ['name', 'instruments'] admin.site.register(models.Orchestration, OrchestrationAdmin)