From 98e1c8bf313ea5e44331510c50ad55e483637a8d Mon Sep 17 00:00:00 2001 From: Dirk Doesburg Date: Mon, 13 Nov 2023 13:49:11 +0100 Subject: [PATCH] Start fixing oldmembers mailinglist --- website/mailinglists/services.py | 1 - website/members/forms.py | 9 +++++++++ website/registrations/services.py | 1 + 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/website/mailinglists/services.py b/website/mailinglists/services.py index de5432a820..964aa34ec4 100644 --- a/website/mailinglists/services.py +++ b/website/mailinglists/services.py @@ -62,7 +62,6 @@ def get_automatic_lists(): m.current_membership is None or m.current_membership.type != Membership.MEMBER ) - and m.has_been_member() ] lists = [ diff --git a/website/members/forms.py b/website/members/forms.py index 1390d11417..ff67ef2590 100644 --- a/website/members/forms.py +++ b/website/members/forms.py @@ -54,6 +54,15 @@ def __init__(self, *args, **kwargs): "email_gsuite_only" ].hidden_widget() + if ( + not kwargs["instance"].user.has_been_member() + and not kwargs["instance"].receive_oldmembers + ): + self.fields["receive_oldmembers"].disabled = True + # TODO: Explain why. + + # TODO: migration to set False for benefactors created after 2016-2017. + self.render_app_specific_profile_form_fields() def render_app_specific_profile_form_fields(self): diff --git a/website/registrations/services.py b/website/registrations/services.py index 7b94233938..c7b1033e5e 100644 --- a/website/registrations/services.py +++ b/website/registrations/services.py @@ -339,6 +339,7 @@ def _create_member(registration: Registration) -> Member: birthday=registration.birthday, show_birthday=registration.optin_birthday, receive_optin=registration.optin_mailinglist, + receive_oldmembers=registration.membership_type == Membership.MEMBER, ) if registration.direct_debit: