summaryrefslogtreecommitdiff
path: root/tests/admin_widgets/widgetadmin.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/admin_widgets/widgetadmin.py')
-rw-r--r--tests/admin_widgets/widgetadmin.py50
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