Source code for newsletters.forms
"""The forms defined by the newsletters package"""
from django import forms
from django.utils import timezone
from django.utils.translation import gettext_lazy as _
from events.models import Event
from .models import NewsletterEvent
[docs]class NewsletterEventForm(forms.ModelForm):
"""
Custom ModelForm for the NewsletterEvent model to
add the order field and javascript for automatic field filling
"""
event = forms.ChoiceField(label=_("Event"))
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields["event"].choices = [(None, "-----")] + [
(e.pk, e.title)
for e in Event.objects.filter(published=True, start__gt=timezone.now())
]
self.fields["event"].required = False
[docs] class Meta:
fields = (
"order",
"event",
"title_en",
"title_nl",
"url",
"description_en",
"description_nl",
"where_en",
"where_nl",
"start_datetime",
"end_datetime",
"show_costs_warning",
"price",
"penalty_costs",
)
model = NewsletterEvent