Skip to content
Snippets Groups Projects
admin.py 2.47 KiB
Newer Older
  • Learn to ignore specific revisions
  • from django.contrib import admin
    
    from . import models
    
    
    @admin.register(models.Artist)
    class ArtistAdmin(admin.ModelAdmin):
    
    Eliot Berriot's avatar
    Eliot Berriot committed
        list_display = ["name", "mbid", "creation_date"]
        search_fields = ["name", "mbid"]
    
    @admin.register(models.Album)
    class AlbumAdmin(admin.ModelAdmin):
    
    Eliot Berriot's avatar
    Eliot Berriot committed
        list_display = ["title", "artist", "mbid", "release_date", "creation_date"]
        search_fields = ["title", "artist__name", "mbid"]
    
    @admin.register(models.Track)
    class TrackAdmin(admin.ModelAdmin):
    
    Eliot Berriot's avatar
    Eliot Berriot committed
        list_display = ["title", "artist", "album", "mbid"]
        search_fields = ["title", "artist__name", "album__title", "mbid"]
    
    @admin.register(models.ImportBatch)
    class ImportBatchAdmin(admin.ModelAdmin):
    
    Eliot Berriot's avatar
    Eliot Berriot committed
        list_display = ["submitted_by", "creation_date", "import_request", "status"]
        list_select_related = ["submitted_by", "import_request"]
        list_filter = ["status"]
        search_fields = ["import_request__name", "source", "batch__pk", "mbid"]
    
    @admin.register(models.ImportJob)
    class ImportJobAdmin(admin.ModelAdmin):
    
    Eliot Berriot's avatar
    Eliot Berriot committed
        list_display = ["source", "batch", "upload", "status", "mbid"]
        list_select_related = ["upload", "batch"]
    
    Eliot Berriot's avatar
    Eliot Berriot committed
        search_fields = ["source", "batch__pk", "mbid"]
        list_filter = ["status"]
    
    
    
    @admin.register(models.Work)
    class WorkAdmin(admin.ModelAdmin):
    
    Eliot Berriot's avatar
    Eliot Berriot committed
        list_display = ["title", "mbid", "language", "nature"]
    
    Eliot Berriot's avatar
    Eliot Berriot committed
        search_fields = ["title"]
        list_filter = ["language", "nature"]
    
    
    
    @admin.register(models.Lyrics)
    class LyricsAdmin(admin.ModelAdmin):
    
    Eliot Berriot's avatar
    Eliot Berriot committed
        list_display = ["url", "id", "url"]
    
    Eliot Berriot's avatar
    Eliot Berriot committed
        search_fields = ["url", "work__title"]
        list_filter = ["work__language"]
    
    Eliot Berriot's avatar
    Eliot Berriot committed
    @admin.register(models.Upload)
    class UploadAdmin(admin.ModelAdmin):
    
    Eliot Berriot's avatar
    Eliot Berriot committed
            "track",
            "audio_file",
            "source",
            "duration",
            "mimetype",
            "size",
            "bitrate",
    
    Eliot Berriot's avatar
    Eliot Berriot committed
        list_select_related = ["track"]
    
    Eliot Berriot's avatar
    Eliot Berriot committed
            "source",
            "acoustid_track_id",
            "track__title",
            "track__album__title",
            "track__artist__name",
        ]
    
        list_filter = ["mimetype", "import_status", "library__privacy_level"]
    
    
    @admin.register(models.Library)
    class LibraryAdmin(admin.ModelAdmin):
        list_display = ["id", "name", "actor", "uuid", "privacy_level", "creation_date"]
        list_select_related = True
        search_fields = ["actor__username", "name", "description"]
        list_filter = ["privacy_level"]