bgneal@1: ####################################################################### bgneal@1: # bgneal@1: # PyBand Copyright (C) 2008 by Brian Neal bgneal@1: # bgneal@1: ####################################################################### bgneal@1: bgneal@1: from django.contrib import admin bgneal@1: bgneal@1: from mysite.band.models import Article bgneal@1: from mysite.band.models import Album bgneal@1: from mysite.band.models import Album_Merchant bgneal@1: from mysite.band.models import Album_Track bgneal@1: from mysite.band.models import Band bgneal@1: from mysite.band.models import City bgneal@5: from mysite.band.models import Country bgneal@1: from mysite.band.models import Fan bgneal@1: from mysite.band.models import Gear bgneal@1: from mysite.band.models import Gig bgneal@1: from mysite.band.models import Label_Release bgneal@1: from mysite.band.models import Member bgneal@1: from mysite.band.models import Merchandise bgneal@1: from mysite.band.models import Mp3 bgneal@1: from mysite.band.models import Mp3_Set bgneal@1: from mysite.band.models import News bgneal@1: from mysite.band.models import Record_Label bgneal@1: from mysite.band.models import SiteConfig bgneal@1: from mysite.band.models import State bgneal@1: from mysite.band.models import Venue bgneal@1: from mysite.band.models import Video bgneal@1: from mysite.band.models import Video_Set bgneal@1: bgneal@1: ####################################################################### bgneal@1: bgneal@1: admin.site.register(Video) bgneal@1: bgneal@1: ####################################################################### bgneal@1: bgneal@1: class SiteConfigAdmin(admin.ModelAdmin): bgneal@1: list_display = ('band_name', 'url', 'contact_email') bgneal@1: fieldsets = ( bgneal@1: (None, { 'fields' : ('band_name', 'url', 'contact_email', 'intro_text', 'ordering_info', bgneal@1: 'intro_photo') }), bgneal@1: ) bgneal@1: bgneal@1: admin.site.register(SiteConfig, SiteConfigAdmin) bgneal@1: bgneal@1: ####################################################################### bgneal@1: bgneal@1: class GearInline(admin.TabularInline): bgneal@1: model = Gear bgneal@1: bgneal@1: class GearAdmin(admin.ModelAdmin): bgneal@1: list_display = ('item', 'member') bgneal@1: list_filter = ('member', ) bgneal@1: bgneal@1: admin.site.register(Gear, GearAdmin) bgneal@1: bgneal@1: ####################################################################### bgneal@1: bgneal@1: class MemberAdmin(admin.ModelAdmin): bgneal@1: list_display = ('name', 'instrument', 'is_active') bgneal@1: inlines = [ bgneal@1: GearInline, bgneal@1: ] bgneal@1: bgneal@1: admin.site.register(Member, MemberAdmin) bgneal@1: bgneal@1: ####################################################################### bgneal@1: bgneal@1: class CityInline(admin.TabularInline): bgneal@1: model = City bgneal@1: bgneal@1: class CityAdmin(admin.ModelAdmin): bgneal@5: list_display = ('name', 'state', 'country') bgneal@1: list_filter = ('state', ) bgneal@1: search_fields = ('name', ) bgneal@1: bgneal@1: admin.site.register(City, CityAdmin) bgneal@1: bgneal@1: ####################################################################### bgneal@1: bgneal@5: admin.site.register(Country) bgneal@5: bgneal@5: ####################################################################### bgneal@5: bgneal@1: class StateAdmin(admin.ModelAdmin): bgneal@1: inlines = [ bgneal@1: CityInline, bgneal@1: ] bgneal@1: bgneal@1: admin.site.register(State, StateAdmin) bgneal@1: bgneal@1: ####################################################################### bgneal@1: bgneal@1: class VenueAdmin(admin.ModelAdmin): bgneal@1: list_filter = ('city', ) bgneal@1: list_display = ('name', 'city', ) bgneal@1: search_fields = ('name', ) bgneal@1: bgneal@1: admin.site.register(Venue, VenueAdmin) bgneal@1: bgneal@1: ####################################################################### bgneal@1: bgneal@1: class BandAdmin(admin.ModelAdmin): bgneal@1: search_fields = ('name', ) bgneal@1: bgneal@1: admin.site.register(Band, BandAdmin) bgneal@1: bgneal@1: ####################################################################### bgneal@1: bgneal@1: class GigAdmin(admin.ModelAdmin): bgneal@1: list_filter = ('date', 'venue') bgneal@1: save_on_top = True bgneal@1: filter_horizontal = ('bands', ) bgneal@1: bgneal@1: admin.site.register(Gig, GigAdmin) bgneal@1: bgneal@1: ####################################################################### bgneal@1: bgneal@1: class NewsAdmin(admin.ModelAdmin): bgneal@1: save_on_top = True bgneal@1: list_filter = ('date', ) bgneal@1: list_display = ('date', 'title') bgneal@1: search_fields = ('text', 'title') bgneal@1: bgneal@1: admin.site.register(News, NewsAdmin) bgneal@1: bgneal@1: ####################################################################### bgneal@1: bgneal@1: class ArticleAdmin(admin.ModelAdmin): bgneal@1: save_on_top = True bgneal@1: list_filter = ('date', ) bgneal@1: list_display = ('title', 'date') bgneal@1: search_fields = ('text', 'title') bgneal@1: bgneal@1: admin.site.register(Article, ArticleAdmin) bgneal@1: bgneal@1: ####################################################################### bgneal@1: bgneal@1: class Mp3Inline(admin.TabularInline): bgneal@1: model = Mp3 bgneal@1: bgneal@1: class Mp3Admin(admin.ModelAdmin): bgneal@1: prepopulated_fields = {'slug' : ('title', 'desc')} bgneal@1: bgneal@1: admin.site.register(Mp3, Mp3Admin) bgneal@1: bgneal@1: ####################################################################### bgneal@1: bgneal@1: class Mp3_SetAdmin(admin.ModelAdmin): bgneal@1: list_filter = ('date', ) bgneal@1: list_display = ('title', 'date') bgneal@1: inlines = [ bgneal@1: Mp3Inline, bgneal@1: ] bgneal@1: bgneal@1: admin.site.register(Mp3_Set, Mp3_SetAdmin) bgneal@1: bgneal@1: ####################################################################### bgneal@1: bgneal@1: class VideoInline(admin.TabularInline): bgneal@1: model = Video bgneal@1: bgneal@1: class Video_SetAdmin(admin.ModelAdmin): bgneal@1: list_filter = ('date', ) bgneal@1: list_display = ('title', 'date') bgneal@1: inlines = [ bgneal@1: VideoInline, bgneal@1: ] bgneal@1: bgneal@1: admin.site.register(Video_Set, Video_SetAdmin) bgneal@1: bgneal@1: ####################################################################### bgneal@1: bgneal@1: class Album_TrackInline(admin.TabularInline): bgneal@1: model = Album_Track bgneal@1: bgneal@1: class Album_TrackAdmin(admin.ModelAdmin): bgneal@1: list_display = ('track_name', 'album') bgneal@1: list_filter = ('album', ) bgneal@1: bgneal@1: admin.site.register(Album_Track, Album_TrackAdmin) bgneal@1: bgneal@1: ####################################################################### bgneal@1: bgneal@1: class Label_ReleaseInline(admin.TabularInline): bgneal@1: model = Label_Release bgneal@1: bgneal@1: class Label_ReleaseAdmin(admin.ModelAdmin): bgneal@1: list_display = ('catalog_number', 'album', 'record_label', 'release_date') bgneal@1: list_filter = ('record_label', 'album') bgneal@1: bgneal@1: admin.site.register(Label_Release, Label_ReleaseAdmin) bgneal@1: bgneal@1: ####################################################################### bgneal@1: bgneal@1: class Record_LabelAdmin(admin.ModelAdmin): bgneal@1: inlines = [ bgneal@1: Label_ReleaseInline, bgneal@1: ] bgneal@1: bgneal@1: admin.site.register(Record_Label, Record_LabelAdmin) bgneal@1: bgneal@1: ####################################################################### bgneal@1: bgneal@1: class Album_MerchantInline(admin.TabularInline): bgneal@1: model = Album_Merchant bgneal@1: bgneal@1: class Album_MerchantAdmin(admin.ModelAdmin): bgneal@1: list_display = ('name', 'album') bgneal@1: list_filter = ('album', ) bgneal@1: bgneal@1: admin.site.register(Album_Merchant, Album_MerchantAdmin) bgneal@1: bgneal@1: ####################################################################### bgneal@1: bgneal@1: class AlbumAdmin(admin.ModelAdmin): bgneal@1: save_on_top = True bgneal@1: inlines = [ bgneal@1: Album_TrackInline, bgneal@1: Label_ReleaseInline, bgneal@1: Album_MerchantInline, bgneal@1: ] bgneal@1: bgneal@1: admin.site.register(Album, AlbumAdmin) bgneal@1: bgneal@1: ####################################################################### bgneal@1: bgneal@1: class MerchandiseAdmin(admin.ModelAdmin): bgneal@1: list_display = ('name', 'price', 'in_stock') bgneal@1: list_filter = ('in_stock', ) bgneal@1: bgneal@1: admin.site.register(Merchandise, MerchandiseAdmin) bgneal@1: bgneal@1: ####################################################################### bgneal@1: bgneal@1: class FanAdmin(admin.ModelAdmin): bgneal@1: list_display = ('name', 'email', 'current_status') bgneal@1: search_fields = ('name', 'email') bgneal@1: bgneal@1: admin.site.register(Fan, FanAdmin) bgneal@1: bgneal@1: ####################################################################### bgneal@1: