diff options
Diffstat (limited to 'tests/admin_widgets/widgetadmin.py')
-rw-r--r-- | tests/admin_widgets/widgetadmin.py | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/tests/admin_widgets/widgetadmin.py b/tests/admin_widgets/widgetadmin.py new file mode 100644 index 0000000000..1cdeeb9f67 --- /dev/null +++ b/tests/admin_widgets/widgetadmin.py @@ -0,0 +1,50 @@ +""" + +""" +from __future__ import absolute_import + +from django.contrib import admin + +from . import models + + +class WidgetAdmin(admin.AdminSite): + pass + +class CarAdmin(admin.ModelAdmin): + list_display = ['make', 'model', 'owner'] + list_editable = ['owner'] + +class CarTireAdmin(admin.ModelAdmin): + def formfield_for_foreignkey(self, db_field, request, **kwargs): + if db_field.name == "car": + kwargs["queryset"] = models.Car.objects.filter(owner=request.user) + return db_field.formfield(**kwargs) + return super(CarTireAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs) + +class EventAdmin(admin.ModelAdmin): + raw_id_fields = ['band'] + + +class SchoolAdmin(admin.ModelAdmin): + filter_vertical = ('students',) + filter_horizontal = ('alumni',) + +site = WidgetAdmin(name='widget-admin') + +site.register(models.User) +site.register(models.Car, CarAdmin) +site.register(models.CarTire, CarTireAdmin) + +site.register(models.Member) +site.register(models.Band) +site.register(models.Event, EventAdmin) +site.register(models.Album) + +site.register(models.Inventory) + +site.register(models.Bee) + +site.register(models.Advisor) + +site.register(models.School, SchoolAdmin)
\ No newline at end of file |