Source code for news.forms

__copyright__ = "Copyright © Stichting SciPost (SciPost Foundation)"
__license__ = "AGPL v3"


from django import forms

from .models import NewsLetter, NewsItem, NewsLetterNewsItemsTable


[docs]class NewsLetterForm(forms.ModelForm):
[docs] class Meta: model = NewsLetter fields = ['date', 'intro', 'closing', 'published']
[docs]class NewsItemForm(forms.ModelForm):
[docs] class Meta: model = NewsItem fields = ['date', 'headline', 'blurb_short', 'blurb', 'image', 'css_class', 'followup_link', 'followup_link_text', 'published', 'on_homepage']
[docs]class NewsLetterNewsItemsTableForm(forms.ModelForm):
[docs] class Meta: model = NewsLetterNewsItemsTable fields = ['newsitem']
[docs]class NewsLetterNewsItemsTableFormSet(forms.BaseModelFormSet):
[docs] def save(self, *args, **kwargs): objects = super().save(*args, **kwargs) for form in self.ordered_forms: form.instance.order = form.cleaned_data['ORDER'] form.instance.save() return objects
NewsLetterNewsItemsOrderingFormSet = forms.modelformset_factory( NewsLetterNewsItemsTable, fields=(), can_order=True, extra=0, formset=NewsLetterNewsItemsTableFormSet)