feat: Veranstaltungsmodul + Serienbrief mit editierbaren Feldern (STI-35, STI-39)
Implementierung des Veranstaltungsmoduls inkl. Serienbrief-PDF-Generator mit dynamischen, editierbaren Feldern für Betreff und Unterschriften. ### Veranstaltungsmodul (STI-35) - Neues Veranstaltungs-Modell: Titel, Datum, Uhrzeit, Ort, Gasthaus-Adresse, Briefvorlage, Gästeliste (VerstaltungsGast mit freien/Destinatär-Feldern) - Views: Veranstaltungsliste, -detail, Serienbrief-PDF-Generator - Templates: list.html, detail.html, serienbrief_pdf.html (A4, einseitig) - API: Serializer + Endpunkte für Veranstaltungen - Admin: Inline-Bearbeitung der Gästeliste - Migration: 0044_veranstaltungsmodul ### Serienbrief editierbare Felder + PDF-Fix (STI-39) - Neue Felder an Veranstaltung: betreff, unterschrift_1_name/titel, unterschrift_2_name/titel (mit Defaults: Katrin Kleinpaß / Jan Remmer Siebels) - PDF-CSS: Margins, Font-Sizes und Line-Heights reduziert für einseitigen Druck - Migration: 0045_add_serienbrief_editable_fields ### Infrastruktur - scripts/init-paperless-db.sh: Erstellt separate Paperless-DB beim DB-Init - compose.yml: init-paperless-db.sh eingebunden, PAPERLESS_DBNAME-Fix - .gitignore: .claude/ ausgeschlossen Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -9,6 +9,7 @@ from .api_serializers import (
|
||||
PaechterSerializer,
|
||||
StiftungsKalenderEintragSerializer,
|
||||
StiftungsKontoSerializer,
|
||||
VeranstaltungSerializer,
|
||||
VerwaltungskostenSerializer,
|
||||
)
|
||||
from .models import (
|
||||
@@ -20,6 +21,7 @@ from .models import (
|
||||
Paechter,
|
||||
StiftungsKalenderEintrag,
|
||||
StiftungsKonto,
|
||||
Veranstaltung,
|
||||
Verwaltungskosten,
|
||||
)
|
||||
|
||||
@@ -67,3 +69,8 @@ class StiftungsKalenderEintragViewSet(ReadOnlyModelViewSet):
|
||||
class BankTransactionViewSet(ReadOnlyModelViewSet):
|
||||
queryset = BankTransaction.objects.all()
|
||||
serializer_class = BankTransactionSerializer
|
||||
|
||||
|
||||
class VeranstaltungViewSet(ReadOnlyModelViewSet):
|
||||
queryset = Veranstaltung.objects.all()
|
||||
serializer_class = VeranstaltungSerializer
|
||||
|
||||
Reference in New Issue
Block a user