summaryrefslogtreecommitdiff
path: root/tests/admin_changelist/admin.py
diff options
context:
space:
mode:
authorStanislav Volyk <max.begemot@gmail.com>2023-01-25 21:53:38 +0200
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2023-01-30 11:58:06 +0100
commit7217c11eba6175023fff859cd7b3dd6c94690a0d (patch)
tree62dd9e3a2f7091d76e0ae6bf4dd04d4fd440f053 /tests/admin_changelist/admin.py
parent5159e05e40df304018a0704c98e310e801e947f8 (diff)
[4.2.x] Fixed #34283 -- Escaped title in admin's changelist filters.
Regression in 27aa7035f57f0db30b6632e4274e18b430906799. Backport of 20a0850099340fb4cb8df0e4441e5019b2cbd1ea from main
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="&dagger;")
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)