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
[docs] class Media: js = ( "js/js.cookie.min.js", "admin/newsletters/js/forms.js", )