From 3fd01c90014fd5c3c1effff17da6ffc61ae6f0e2 Mon Sep 17 00:00:00 2001 From: Christian Merten Date: Sat, 30 Aug 2025 16:21:02 +0200 Subject: [PATCH] chore(members/admin): remove RegistrationFilter This filter was used when there was not yet a distinction between confirmed and unconfirmed members. By design, every confirmed member should have a complete registration. --- jdav_web/members/admin.py | 38 -------------------------- jdav_web/members/tests/basic.py | 48 +-------------------------------- jdav_web/members/tests/utils.py | 2 +- 3 files changed, 2 insertions(+), 86 deletions(-) diff --git a/jdav_web/members/admin.py b/jdav_web/members/admin.py index 4e37749..466000d 100644 --- a/jdav_web/members/admin.py +++ b/jdav_web/members/admin.py @@ -129,44 +129,6 @@ class TrainingCategoryAdmin(admin.ModelAdmin): ordering = ('name', ) -class RegistrationFilter(admin.SimpleListFilter): - title = _('Registration complete') - parameter_name = 'registration_complete' - default_value = ('All', None) - - def lookups(self, request, model_admin): - return ( - ('True', _('True')), - ('False', _('False')), - ('All', _('All')) - ) - - def queryset(self, request, queryset): - if self.value() == 'True': - return queryset.filter(registration_complete=True) - elif self.value() == 'False': - return queryset.filter(registration_complete=False) - elif self.value() is None: - if self.default_value[1] is None: - return queryset - else: - return queryset.filter(registration_complete=self.default_value[1]) - elif self.value() == 'All': - return queryset - - def choices(self, cl): - for lookup, title in self.lookup_choices: - yield { - 'selected': - self.value() == lookup or - (self.value() is None and lookup == self.default_value[0]), - 'query_string': cl.get_query_string({ - self.parameter_name: - lookup, - }, []), - 'display': title - } - class MemberAdminForm(forms.ModelForm): class Meta: diff --git a/jdav_web/members/tests/basic.py b/jdav_web/members/tests/basic.py index 0e19694..cf8a3cf 100644 --- a/jdav_web/members/tests/basic.py +++ b/jdav_web/members/tests/basic.py @@ -28,7 +28,7 @@ from members.models import Member, Group, PermissionMember, PermissionGroup, Fre Klettertreff, KlettertreffAttendee, LJPProposal, ActivityCategory, WEEKDAYS,\ TrainingCategory, Person from members.admin import MemberWaitingListAdmin, MemberAdmin, FreizeitAdmin, MemberNoteListAdmin,\ - MemberUnconfirmedAdmin, RegistrationFilter, FilteredMemberFieldMixin,\ + MemberUnconfirmedAdmin, FilteredMemberFieldMixin,\ MemberAdminForm, StatementOnListForm, KlettertreffAdmin, GroupAdmin,\ InvitationToGroupAdmin, AgeFilter, InvitedToGroupFilter from members.pdf import fill_pdf_form, render_tex, media_path, serve_pdf, find_template, merge_pdfs, render_docx, pdf_add_attachments, scale_pdf_page_to_a4, scale_pdf_to_a4 @@ -2127,52 +2127,6 @@ class EchoViewTestCase(BasicMemberTestCase): self.assertIn('upload', response.url) -class TestRegistrationFilterTestCase(AdminTestCase): - def setUp(self): - super().setUp(model=Member, admin=MemberAdmin) - - def test_lookups(self): - fil = RegistrationFilter(None, {}, Member, self.admin) - self.assertTrue(('All', _('All')) in fil.lookups(None, None)) - - def test_queryset_no_filter(self): - qs = Member.objects.all() - # filtering with All returns passed queryset - fil = RegistrationFilter(None, {'registration_complete': 'All'}, Member, self.admin) - self.assertQuerysetEqual(fil.queryset(None, qs), qs, ordered=False) - - # or with None - fil = RegistrationFilter(None, {}, Member, self.admin) - self.assertQuerysetEqual(fil.queryset(None, qs), qs, ordered=False) - - def test_choices(self): - fil = RegistrationFilter(None, {'registration_complete': 'True'}, Member, self.admin) - request = RequestFactory().get("/", {}) - request.user = User.objects.get(username='superuser') - changelist = self.admin.get_changelist_instance(request) - choices = list(fil.choices(changelist)) - self.assertEqual(choices[0]['display'], _('Yes')) - - @skip("Currently errors, because 'registration_complete' is not a field.") - def test_queryset_filter(self): - qs = Member.objects.all() - fil = RegistrationFilter(None, {'registration_complete': 'True'}, Member, self.admin) - self.assertQuerysetEqual(fil.queryset(None, qs), - Member.objects.filter(registration_complete=True), - ordered=False) - - fil = RegistrationFilter(None, {'registration_complete': 'False'}, Member, self.admin) - self.assertQuerysetEqual(fil.queryset(None, qs), - Member.objects.filter(registration_complete=True), - ordered=False) - - fil = RegistrationFilter(None, {}, Member, self.admin) - fil.default_value = ('True', True) - self.assertQuerysetEqual(fil.queryset(None, qs), - Member.objects.filter(registration_complete=True), - ordered=False) - - class MemberAdminFormTestCase(TestCase): def test_clean_iban(self): form_data = dict(REGISTRATION_DATA, iban='foobar') diff --git a/jdav_web/members/tests/utils.py b/jdav_web/members/tests/utils.py index 9660aea..46dc986 100644 --- a/jdav_web/members/tests/utils.py +++ b/jdav_web/members/tests/utils.py @@ -22,7 +22,7 @@ from members.models import Member, Group, PermissionMember, PermissionGroup, Fre Klettertreff, KlettertreffAttendee, LJPProposal, ActivityCategory, WEEKDAYS,\ TrainingCategory, Person from members.admin import MemberWaitingListAdmin, MemberAdmin, FreizeitAdmin, MemberNoteListAdmin,\ - MemberUnconfirmedAdmin, RegistrationFilter, FilteredMemberFieldMixin,\ + MemberUnconfirmedAdmin, FilteredMemberFieldMixin,\ MemberAdminForm, StatementOnListForm, KlettertreffAdmin, GroupAdmin from members.pdf import fill_pdf_form, render_tex, media_path, serve_pdf, find_template, merge_pdfs from mailer.models import EmailAddress