Files

35 lines
1.1 KiB
Python
Raw Permalink Normal View History

2026-05-21 10:36:16 +02:00
from django import forms
from .models import LetterTemplate, MailMergeJob
class LetterTemplateForm(forms.ModelForm):
class Meta:
model = LetterTemplate
fields = ["name", "description", "file"]
widgets = {
"description": forms.Textarea(attrs={"rows": 3}),
}
def clean_file(self):
f = self.cleaned_data["file"]
if not f.name.lower().endswith(".docx"):
raise forms.ValidationError("Nur .docx-Dateien sind erlaubt.")
if f.size > 10 * 1024 * 1024:
raise forms.ValidationError("Datei zu groß (max. 10 MB).")
return f
class MailMergeJobForm(forms.ModelForm):
class Meta:
model = MailMergeJob
fields = ["template", "recipients_csv"]
def clean_recipients_csv(self):
f = self.cleaned_data["recipients_csv"]
if not f.name.lower().endswith(".csv"):
raise forms.ValidationError("Nur .csv-Dateien sind erlaubt.")
if f.size > 20 * 1024 * 1024:
raise forms.ValidationError("Datei zu groß (max. 20 MB).")
return f