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>
77 lines
2.0 KiB
Python
77 lines
2.0 KiB
Python
from rest_framework.viewsets import ReadOnlyModelViewSet
|
|
|
|
from .api_serializers import (
|
|
BankTransactionSerializer,
|
|
DestinataerSerializer,
|
|
FoerderungSerializer,
|
|
LandSerializer,
|
|
LandVerpachtungSerializer,
|
|
PaechterSerializer,
|
|
StiftungsKalenderEintragSerializer,
|
|
StiftungsKontoSerializer,
|
|
VeranstaltungSerializer,
|
|
VerwaltungskostenSerializer,
|
|
)
|
|
from .models import (
|
|
BankTransaction,
|
|
Destinataer,
|
|
Foerderung,
|
|
Land,
|
|
LandVerpachtung,
|
|
Paechter,
|
|
StiftungsKalenderEintrag,
|
|
StiftungsKonto,
|
|
Veranstaltung,
|
|
Verwaltungskosten,
|
|
)
|
|
|
|
|
|
class DestinataerViewSet(ReadOnlyModelViewSet):
|
|
queryset = Destinataer.objects.all()
|
|
serializer_class = DestinataerSerializer
|
|
|
|
|
|
class LandViewSet(ReadOnlyModelViewSet):
|
|
queryset = Land.objects.all()
|
|
serializer_class = LandSerializer
|
|
|
|
|
|
class PaechterViewSet(ReadOnlyModelViewSet):
|
|
queryset = Paechter.objects.all()
|
|
serializer_class = PaechterSerializer
|
|
|
|
|
|
class FoerderungViewSet(ReadOnlyModelViewSet):
|
|
queryset = Foerderung.objects.all()
|
|
serializer_class = FoerderungSerializer
|
|
|
|
|
|
class StiftungsKontoViewSet(ReadOnlyModelViewSet):
|
|
queryset = StiftungsKonto.objects.all()
|
|
serializer_class = StiftungsKontoSerializer
|
|
|
|
|
|
class LandVerpachtungViewSet(ReadOnlyModelViewSet):
|
|
queryset = LandVerpachtung.objects.all()
|
|
serializer_class = LandVerpachtungSerializer
|
|
|
|
|
|
class VerwaltungskostenViewSet(ReadOnlyModelViewSet):
|
|
queryset = Verwaltungskosten.objects.all()
|
|
serializer_class = VerwaltungskostenSerializer
|
|
|
|
|
|
class StiftungsKalenderEintragViewSet(ReadOnlyModelViewSet):
|
|
queryset = StiftungsKalenderEintrag.objects.all()
|
|
serializer_class = StiftungsKalenderEintragSerializer
|
|
|
|
|
|
class BankTransactionViewSet(ReadOnlyModelViewSet):
|
|
queryset = BankTransaction.objects.all()
|
|
serializer_class = BankTransactionSerializer
|
|
|
|
|
|
class VeranstaltungViewSet(ReadOnlyModelViewSet):
|
|
queryset = Veranstaltung.objects.all()
|
|
serializer_class = VeranstaltungSerializer
|