diff options
Diffstat (limited to 'tests/admin_changelist/admin.py')
| -rw-r--r-- | tests/admin_changelist/admin.py | 23 |
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) |
