Skip to content

Commit 9aac7ab

Browse files
committed
Member city filter in admin view
1 parent 244370f commit 9aac7ab

File tree

1 file changed

+18
-1
lines changed

1 file changed

+18
-1
lines changed

project/members/admin.py

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,22 @@ def queryset(self, request, queryset):
6868
return queryset.filter(access_granted__atype=v)
6969

7070

71+
class CityListFilter(admin.SimpleListFilter):
72+
title = _("Cities")
73+
parameter_name = 'city'
74+
75+
def lookups(self, request, model_admin):
76+
cities = Member.objects.values_list('city',flat=True).distinct()
77+
return zip(cities,cities)
78+
79+
def queryset(self, request, queryset):
80+
v = self.value()
81+
if not v:
82+
return queryset
83+
return queryset.filter(city=v)
84+
85+
86+
7187
class CreditListFilter(admin.SimpleListFilter):
7288
title = _("Credit")
7389
parameter_name = 'credit'
@@ -97,8 +113,9 @@ class MemberAdmin(VersionAdmin):
97113
'credit_formatted',
98114
'mtypes_formatted',
99115
'grants_formatted',
116+
'city',
100117
)
101-
list_filter = (MemberTypeListFilter, GrantListFilter, CreditListFilter)
118+
list_filter = (MemberTypeListFilter, GrantListFilter, CreditListFilter, CityListFilter)
102119
inlines = [MemberNoteInline, GrantInline, TokenInline, RTInline]
103120
search_fields = ['lname', 'fname', 'email', 'nick']
104121
ordering = ['lname', 'fname']

0 commit comments

Comments
 (0)