55 lines
1.5 KiB
Python
55 lines
1.5 KiB
Python
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']
|
|
inlines = [MetaInline, DocInline, ItemInline]
|
|
|
|
admin.site.register(models.Work, WorkAdmin)
|
|
|
|
class SectionInline(admin.TabularInline):
|
|
model = models.Section
|
|
fields = ['type', 'tag', 'ordinal', 'start', 'end']
|
|
|
|
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) |