From 7217c11eba6175023fff859cd7b3dd6c94690a0d Mon Sep 17 00:00:00 2001 From: Stanislav Volyk Date: Wed, 25 Jan 2023 21:53:38 +0200 Subject: [4.2.x] Fixed #34283 -- Escaped title in admin's changelist filters. Regression in 27aa7035f57f0db30b6632e4274e18b430906799. Backport of 20a0850099340fb4cb8df0e4441e5019b2cbd1ea from main --- tests/admin_changelist/admin.py | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'tests/admin_changelist/admin.py') 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) -- cgit v1.3