Files
stiftung-management-system/app/stiftung/api_views.py
SysAdmin Agent 28621d2774
Some checks failed
CI/CD Pipeline / test (push) Has been cancelled
CI/CD Pipeline / deploy (push) Has been cancelled
Code Quality / quality (push) Has been cancelled
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>
2026-03-10 22:36:58 +00:00

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