From 3febcc9dbc33499d6e1073f57d5c8d7344793b14 Mon Sep 17 00:00:00 2001 From: Ee Durbin Date: Tue, 9 Aug 2022 08:25:58 -0400 Subject: [PATCH] make year a dropdown for sponsorship admin forms that need it --- sponsors/admin.py | 1 + sponsors/forms.py | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/sponsors/admin.py b/sponsors/admin.py index a8f553534..0d655a194 100644 --- a/sponsors/admin.py +++ b/sponsors/admin.py @@ -130,6 +130,7 @@ class SponsorshipBenefitAdmin(PolymorphicInlineSupportMixin, OrderedModelAdmin): "name", "description", "program", + "year", "packages", "package_only", "new", diff --git a/sponsors/forms.py b/sponsors/forms.py index 471f44659..22853bd3d 100644 --- a/sponsors/forms.py +++ b/sponsors/forms.py @@ -25,6 +25,10 @@ SPONSOR_TEMPLATE_HELP_TEXT, SponsorshipCurrentYear, ) +SPONSORSHIP_YEAR_SELECT = forms.Select( + choices=(((None, '---'),) + tuple(((y, str(y)) for y in range(2021, datetime.date.today().year + 2)))) +) + class PickSponsorshipBenefitsField(forms.ModelMultipleChoiceField): widget = forms.CheckboxSelectMultiple @@ -393,6 +397,9 @@ def __init__(self, *args, **kwargs): class Meta: model = Sponsorship fields = ["start_date", "end_date", "package", "sponsorship_fee"] + widgets = { + 'year': SPONSORSHIP_YEAR_SELECT, + } def clean(self): cleaned_data = super().clean() @@ -673,6 +680,9 @@ class SponsorshipBenefitAdminForm(forms.ModelForm): class Meta: model = SponsorshipBenefit + widgets = { + 'year': SPONSORSHIP_YEAR_SELECT, + } fields = "__all__" def clean(self):