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)
+
+#######################################################################
+