33 lines
897 B
Python
33 lines
897 B
Python
from django.contrib import admin
|
|||
|
|
|
||
|
|
from .models import Album, AlbumCollaborator, AlbumItem, LibraryItem, MediaRendition
|
||
|
|
|
||
|
|
|
||
|
|
class MediaRenditionInline(admin.TabularInline):
|
||
|
|
model = MediaRendition
|
||
|
|
extra = 0
|
||
|
|
|
||
|
|
|
||
|
|
@admin.register(LibraryItem)
|
||
|
|
class LibraryItemAdmin(admin.ModelAdmin):
|
||
|
|
list_display = ("original_filename", "owner", "media_type", "processing_status", "captured_at")
|
||
|
|
list_filter = ("media_type", "processing_status")
|
||
|
|
search_fields = ("original_filename", "owner__username")
|
||
|
|
inlines = [MediaRenditionInline]
|
||
|
|
|
||
|
|
|
||
|
|
class AlbumItemInline(admin.TabularInline):
|
||
|
|
model = AlbumItem
|
||
|
|
extra = 0
|
||
|
|
|
||
|
|
|
||
|
|
class AlbumCollaboratorInline(admin.TabularInline):
|
||
|
|
model = AlbumCollaborator
|
||
|
|
extra = 0
|
||
|
|
|
||
|
|
|
||
|
|
@admin.register(Album)
|
||
|
|
class AlbumAdmin(admin.ModelAdmin):
|
||
|
|
list_display = ("name", "owner", "audience", "created_at")
|
||
|
|
inlines = [AlbumItemInline, AlbumCollaboratorInline]
|