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 = ["tag", "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)