From aa6cf61bb2556abb055dbadc9531a728311d2453 Mon Sep 17 00:00:00 2001 From: Matias Varela Date: Tue, 1 May 2018 03:39:17 -0300 Subject: [PATCH] improve admin filters --- website/members/admin.py | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/website/members/admin.py b/website/members/admin.py index 4769810..4c546cf 100644 --- a/website/members/admin.py +++ b/website/members/admin.py @@ -5,12 +5,27 @@ class PersonNoMembers(SimpleListFilter): - title = 'person no member' # or use _('country') for translated title + title = 'signup process' parameter_name = 'membership' def lookups(self, request, model_admin): return ( - ('filtered', 'Member in progress'), + ('filtered', 'Signup in progress'), + ) + + def queryset(self, request, queryset): + if self.value() == 'filtered': + return queryset.filter(membership__isnull=True) + return queryset + + +class OrganizationNoMembers(SimpleListFilter): + title = 'signup process' + parameter_name = 'membership' + + def lookups(self, request, model_admin): + return ( + ('filtered', 'Signup in progress'), ) def queryset(self, request, queryset): @@ -34,6 +49,7 @@ class MemberAdmin(admin.ModelAdmin): class OrganizationAdmin(admin.ModelAdmin): + list_filter = (OrganizationNoMembers, ) list_display = ('name', 'document_number', 'address', ) search_fields = ('^name', '^document_number', ) list_display_links = ('name', )