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,
|
2022-10-17 10:02:56 +08:00
|
|
|
Student,
|
2021-03-18 18:21:23 +08:00
|
|
|
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)
|
2022-10-17 10:02:56 +08:00
|
|
|
site.register(Student)
|
2013-09-08 00:52:14 +08:00
|
|
|
|
2016-12-09 00:00:14 +08:00
|
|
|
site.register(Profile)
|