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
18 lines
840 B
Markdown
18 lines
840 B
Markdown
# 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:
|
||
|
||
1. `model_template.py` → `app/models/<name>.py`
|
||
2. `schema_template.py` → `app/schemas/<name>.py`
|
||
3. `router_template.py` → `app/routers/<name>.py`, in `app/main.py` registrieren
|
||
4. `migration_template.py` → `migrations/versions/00XX_<name>.py`, `conftest.py` RLS nachziehen
|
||
5. `test_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.
|