2009-01-16 23:32:31 +08:00
|
|
|
from django.contrib import admin
|
|
|
|
|
2016-12-09 00:00:14 +08:00
|
|
|
from .models import (
|
|
|
|
Advisor, Album, Band, Bee, Car, CarTire, Event, Inventory, Member, Profile,
|
2021-03-18 18:21:23 +08:00
|
|
|
ReleaseEvent, School, User, VideoStream,
|
2016-12-09 00:00:14 +08:00
|
|
|
)
|
2011-10-14 02:51:33 +08:00
|
|
|
|
2009-01-16 23:32:31 +08:00
|
|
|
|
|
|
|
class WidgetAdmin(admin.AdminSite):
|
|
|
|
pass
|
|
|
|
|
2013-10-11 04:42:30 +08:00
|
|
|
|
2009-03-31 07:16:34 +08:00
|
|
|
class CarAdmin(admin.ModelAdmin):
|
|
|
|
list_display = ['make', 'model', 'owner']
|
|
|
|
list_editable = ['owner']
|
2009-01-16 23:32:31 +08:00
|
|
|
|
2013-10-11 04:42:30 +08:00
|
|
|
|
2009-01-16 23:32:31 +08:00
|
|
|
class CarTireAdmin(admin.ModelAdmin):
|
|
|
|
def formfield_for_foreignkey(self, db_field, request, **kwargs):
|
|
|
|
if db_field.name == "car":
|
2016-12-09 00:00:14 +08:00
|
|
|
kwargs["queryset"] = Car.objects.filter(owner=request.user)
|
2009-01-16 23:32:31 +08:00
|
|
|
return db_field.formfield(**kwargs)
|
2017-01-21 21:13:44 +08:00
|
|
|
return super().formfield_for_foreignkey(db_field, request, **kwargs)
|
2009-01-16 23:32:31 +08:00
|
|
|
|
2013-10-11 04:42:30 +08:00
|
|
|
|
2010-03-02 10:28:49 +08:00
|
|
|
class EventAdmin(admin.ModelAdmin):
|
2013-08-05 07:06:47 +08:00
|
|
|
raw_id_fields = ['main_band', 'supporting_bands']
|
2010-03-02 10:28:49 +08:00
|
|
|
|
2012-02-23 16:07:07 +08:00
|
|
|
|
2014-04-05 23:58:05 +08:00
|
|
|
class AlbumAdmin(admin.ModelAdmin):
|
|
|
|
fields = ('name', 'cover_art',)
|
|
|
|
readonly_fields = ('cover_art',)
|
|
|
|
|
|
|
|
|
2012-02-23 16:07:07 +08:00
|
|
|
class SchoolAdmin(admin.ModelAdmin):
|
|
|
|
filter_vertical = ('students',)
|
|
|
|
filter_horizontal = ('alumni',)
|
|
|
|
|
2016-11-13 01:11:23 +08:00
|
|
|
|
2009-07-17 00:16:13 +08:00
|
|
|
site = WidgetAdmin(name='widget-admin')
|
2009-01-16 23:32:31 +08:00
|
|
|
|
2016-12-09 00:00:14 +08:00
|
|
|
site.register(User)
|
|
|
|
site.register(Car, CarAdmin)
|
|
|
|
site.register(CarTire, CarTireAdmin)
|
2011-08-02 07:38:11 +08:00
|
|
|
|
2016-12-09 00:00:14 +08:00
|
|
|
site.register(Member)
|
|
|
|
site.register(Band)
|
|
|
|
site.register(Event, EventAdmin)
|
|
|
|
site.register(Album, AlbumAdmin)
|
2021-03-18 18:21:23 +08:00
|
|
|
site.register(ReleaseEvent, search_fields=['name'])
|
|
|
|
site.register(VideoStream, autocomplete_fields=['release_event'])
|
2011-08-02 07:38:11 +08:00
|
|
|
|
2016-12-09 00:00:14 +08:00
|
|
|
site.register(Inventory)
|
2011-08-02 07:38:11 +08:00
|
|
|
|
2016-12-09 00:00:14 +08:00
|
|
|
site.register(Bee)
|
2011-08-02 07:38:11 +08:00
|
|
|
|
2016-12-09 00:00:14 +08:00
|
|
|
site.register(Advisor)
|
2012-02-23 16:07:07 +08:00
|
|
|
|
2016-12-09 00:00:14 +08:00
|
|
|
site.register(School, SchoolAdmin)
|
2013-09-08 00:52:14 +08:00
|
|
|
|
2016-12-09 00:00:14 +08:00
|
|
|
site.register(Profile)
|