Neuer PDF-Export GET /reports/datev-monthly/export: ein Blatt pro Mitarbeiter/Monat im Layout der DATEV-Stundenaufzeichnungs-Vorlage (Beginn/Pause/Ende/Dauer + K/U/UU/F/SA/SU-Kürzel + Bemerkungen + Summe + Unterschriftsfelder). Führt time_entries, Absences und Feiertage pro Kalendertag zusammen. Außerdem: Mustervorlagen für neue Backend-Module (Model/Schema/Router/ Migration/Test) und eine Frontend-Page-Vorlage, abgeleitet vom hours_payouts-Modul als aktuellstem sauberen Muster. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CviFgc739S89xS97pvjszj
Mustervorlagen (Backend)
Kopiervorlagen für ein neues Workflow-Modul (Model + Schema + Router + Migration + Test),
abgeleitet vom aktuellsten sauberen Muster im Projekt: hours_payouts (Migration 0042).
Reihenfolge beim Bau eines neuen Moduls:
model_template.py→app/models/<name>.pyschema_template.py→app/schemas/<name>.pyrouter_template.py→app/routers/<name>.py, inapp/main.pyregistrierenmigration_template.py→migrations/versions/00XX_<name>.py,conftest.pyRLS nachziehentest_template.py→tests/test_<name>.py
Jede Datei hat einen Anleitung-Docstring am Kopf. Kern-Fallstricke sind dort verlinkt (RLS-Bypass + mid-request commit, Company-Isolation, conftest.py-Replikation).
Diese Ordner werden NICHT von der App importiert (kein __init__.py) – reine Vorlagen.