view band/admin.py @ 197:5f5609677711

Add Pipleine Center of The Surf quote to home page.
author Brian Neal <bgneal@gmail.com>
date Tue, 09 Oct 2018 19:41:30 -0500
parents e2868ad47a1e
children
line wrap: on
line source
"""
Automatic admin definitions for the band models.

"""
from django.contrib import admin

from band.models import Album
from band.models import AlbumMerchant
from band.models import AlbumTrack
from band.models import Gear
from band.models import LabelRelease
from band.models import Member
from band.models import Merchandise
from band.models import RecordLabel


class GearInline(admin.TabularInline):
    model = Gear


class GearAdmin(admin.ModelAdmin):
    list_display = ['item', 'member']
    list_filter = ['member']


class MemberAdmin(admin.ModelAdmin):
    list_display = ['name', 'instrument', 'is_active']
    inlines = [GearInline]


class AlbumTrackInline(admin.TabularInline):
    model = AlbumTrack


class AlbumTrackAdmin(admin.ModelAdmin):
    list_display = ['track_name', 'album']
    list_filter = ['album']


class LabelReleaseInline(admin.TabularInline):
    model = LabelRelease


class LabelReleaseAdmin(admin.ModelAdmin):
    list_display = ['catalog_number', 'album', 'record_label', 'release_date']
    list_filter = ['record_label', 'album']


class RecordLabelAdmin(admin.ModelAdmin):
    inlines = [LabelReleaseInline]


class AlbumMerchantInline(admin.TabularInline):
    model = AlbumMerchant


class AlbumMerchantAdmin(admin.ModelAdmin):
    list_display = ['name', 'album']
    list_filter = ['album']


class AlbumAdmin(admin.ModelAdmin):
    save_on_top = True
    inlines = [
        AlbumTrackInline,
        LabelReleaseInline,
        AlbumMerchantInline,
    ]


class MerchandiseAdmin(admin.ModelAdmin):
    list_display = ['name', 'price', 'in_stock']
    list_filter = ['in_stock']


admin.site.register(Gear, GearAdmin)
admin.site.register(Member, MemberAdmin)
admin.site.register(AlbumTrack, AlbumTrackAdmin)
admin.site.register(LabelRelease, LabelReleaseAdmin)
admin.site.register(RecordLabel, RecordLabelAdmin)
admin.site.register(AlbumMerchant, AlbumMerchantAdmin)
admin.site.register(Album, AlbumAdmin)
admin.site.register(Merchandise, MerchandiseAdmin)