summaryrefslogtreecommitdiff
path: root/tests/admin_changelist/admin.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/admin_changelist/admin.py')
-rw-r--r--tests/admin_changelist/admin.py23
1 files changed, 22 insertions, 1 deletions
diff --git a/tests/admin_changelist/admin.py b/tests/admin_changelist/admin.py
index 67187f5b79..8ffc45e391 100644
--- a/tests/admin_changelist/admin.py
+++ b/tests/admin_changelist/admin.py
@@ -3,7 +3,7 @@ from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.models import User
from django.core.paginator import Paginator
-from .models import Band, Child, Event, Parent, Swallow
+from .models import Band, Child, Event, Parent, ProxyUser, Swallow
site = admin.AdminSite(name="admin")
@@ -185,3 +185,24 @@ class EmptyValueChildAdmin(admin.ModelAdmin):
@admin.display(empty_value="†")
def age_display(self, obj):
return obj.age
+
+
+class UnescapedTitleFilter(admin.SimpleListFilter):
+ title = "It's OK"
+ parameter_name = "is_active"
+
+ def lookups(self, request, model_admin):
+ return [("yes", "yes"), ("no", "no")]
+
+ def queryset(self, request, queryset):
+ if self.value() == "yes":
+ return queryset.filter(is_active=True)
+ else:
+ return queryset.filter(is_active=False)
+
+
+class CustomUserAdmin(UserAdmin):
+ list_filter = [UnescapedTitleFilter]
+
+
+site.register(ProxyUser, CustomUserAdmin)