Mercurial > public > madeira
diff mysite/band/admin.py @ 1:0dcfcdf50c62
Initial import of Madeira project from the private repository.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Mon, 06 Apr 2009 03:10:59 +0000 |
parents | |
children | e602b5302b94 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mysite/band/admin.py Mon Apr 06 03:10:59 2009 +0000 @@ -0,0 +1,239 @@ +####################################################################### +# +# PyBand Copyright (C) 2008 by Brian Neal +# +####################################################################### + +from django.contrib import admin + +from mysite.band.models import Article +from mysite.band.models import Album +from mysite.band.models import Album_Merchant +from mysite.band.models import Album_Track +from mysite.band.models import Band +from mysite.band.models import City +from mysite.band.models import Fan +from mysite.band.models import Gear +from mysite.band.models import Gig +from mysite.band.models import Label_Release +from mysite.band.models import Member +from mysite.band.models import Merchandise +from mysite.band.models import Mp3 +from mysite.band.models import Mp3_Set +from mysite.band.models import News +from mysite.band.models import Record_Label +from mysite.band.models import SiteConfig +from mysite.band.models import State +from mysite.band.models import Venue +from mysite.band.models import Video +from mysite.band.models import Video_Set + +####################################################################### + +admin.site.register(Video) + +####################################################################### + +class SiteConfigAdmin(admin.ModelAdmin): + list_display = ('band_name', 'url', 'contact_email') + fieldsets = ( + (None, { 'fields' : ('band_name', 'url', 'contact_email', 'intro_text', 'ordering_info', + 'intro_photo') }), + ) + +admin.site.register(SiteConfig, SiteConfigAdmin) + +####################################################################### + +class GearInline(admin.TabularInline): + model = Gear + +class GearAdmin(admin.ModelAdmin): + list_display = ('item', 'member') + list_filter = ('member', ) + +admin.site.register(Gear, GearAdmin) + +####################################################################### + +class MemberAdmin(admin.ModelAdmin): + list_display = ('name', 'instrument', 'is_active') + inlines = [ + GearInline, + ] + +admin.site.register(Member, MemberAdmin) + +####################################################################### + +class CityInline(admin.TabularInline): + model = City + +class CityAdmin(admin.ModelAdmin): + list_display = ('name', 'state') + list_filter = ('state', ) + search_fields = ('name', ) + +admin.site.register(City, CityAdmin) + +####################################################################### + +class StateAdmin(admin.ModelAdmin): + inlines = [ + CityInline, + ] + +admin.site.register(State, StateAdmin) + +####################################################################### + +class VenueAdmin(admin.ModelAdmin): + list_filter = ('city', ) + list_display = ('name', 'city', ) + search_fields = ('name', ) + +admin.site.register(Venue, VenueAdmin) + +####################################################################### + +class BandAdmin(admin.ModelAdmin): + search_fields = ('name', ) + +admin.site.register(Band, BandAdmin) + +####################################################################### + +class GigAdmin(admin.ModelAdmin): + list_filter = ('date', 'venue') + save_on_top = True + filter_horizontal = ('bands', ) + +admin.site.register(Gig, GigAdmin) + +####################################################################### + +class NewsAdmin(admin.ModelAdmin): + save_on_top = True + list_filter = ('date', ) + list_display = ('date', 'title') + search_fields = ('text', 'title') + +admin.site.register(News, NewsAdmin) + +####################################################################### + +class ArticleAdmin(admin.ModelAdmin): + save_on_top = True + list_filter = ('date', ) + list_display = ('title', 'date') + search_fields = ('text', 'title') + +admin.site.register(Article, ArticleAdmin) + +####################################################################### + +class Mp3Inline(admin.TabularInline): + model = Mp3 + +class Mp3Admin(admin.ModelAdmin): + prepopulated_fields = {'slug' : ('title', 'desc')} + +admin.site.register(Mp3, Mp3Admin) + +####################################################################### + +class Mp3_SetAdmin(admin.ModelAdmin): + list_filter = ('date', ) + list_display = ('title', 'date') + inlines = [ + Mp3Inline, + ] + +admin.site.register(Mp3_Set, Mp3_SetAdmin) + +####################################################################### + +class VideoInline(admin.TabularInline): + model = Video + +class Video_SetAdmin(admin.ModelAdmin): + list_filter = ('date', ) + list_display = ('title', 'date') + inlines = [ + VideoInline, + ] + +admin.site.register(Video_Set, Video_SetAdmin) + +####################################################################### + +class Album_TrackInline(admin.TabularInline): + model = Album_Track + +class Album_TrackAdmin(admin.ModelAdmin): + list_display = ('track_name', 'album') + list_filter = ('album', ) + +admin.site.register(Album_Track, Album_TrackAdmin) + +####################################################################### + +class Label_ReleaseInline(admin.TabularInline): + model = Label_Release + +class Label_ReleaseAdmin(admin.ModelAdmin): + list_display = ('catalog_number', 'album', 'record_label', 'release_date') + list_filter = ('record_label', 'album') + +admin.site.register(Label_Release, Label_ReleaseAdmin) + +####################################################################### + +class Record_LabelAdmin(admin.ModelAdmin): + inlines = [ + Label_ReleaseInline, + ] + +admin.site.register(Record_Label, Record_LabelAdmin) + +####################################################################### + +class Album_MerchantInline(admin.TabularInline): + model = Album_Merchant + +class Album_MerchantAdmin(admin.ModelAdmin): + list_display = ('name', 'album') + list_filter = ('album', ) + +admin.site.register(Album_Merchant, Album_MerchantAdmin) + +####################################################################### + +class AlbumAdmin(admin.ModelAdmin): + save_on_top = True + inlines = [ + Album_TrackInline, + Label_ReleaseInline, + Album_MerchantInline, + ] + +admin.site.register(Album, AlbumAdmin) + +####################################################################### + +class MerchandiseAdmin(admin.ModelAdmin): + list_display = ('name', 'price', 'in_stock') + list_filter = ('in_stock', ) + +admin.site.register(Merchandise, MerchandiseAdmin) + +####################################################################### + +class FanAdmin(admin.ModelAdmin): + list_display = ('name', 'email', 'current_status') + search_fields = ('name', 'email') + +admin.site.register(Fan, FanAdmin) + +####################################################################### +