feat(personal): PERS-001/002 Person fachlich von Benutzer getrennt
CI / backend-tests (push) Successful in 2m29s
CI / frontend-build (push) Successful in 28s

Neue Tabelle person (Migration 0034, Backfill bestehender Benutzer 1:1
per Zeilennummer, keine Datenverluste). Benutzer.person_id optional -
Login kann bestehende Person verknüpfen oder legt automatisch eine neue
an (Rückwärtskompatibilität zum bisherigen Anlegen-Flow). /personen-CRUD
(admin-only), neue PersonSection.tsx im Personal-Tab, BenutzerSection
um Personen-Auswahl erweitert.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CVgbozhYmuEhiEJHffRXCV
This commit is contained in:
2026-09-08 22:31:46 +02:00
co-authored by Claude Sonnet 5
parent 847c303a97
commit 7dc6446a56
16 changed files with 552 additions and 7 deletions
+2 -2
View File
@@ -202,8 +202,8 @@ vergeben statt geraten.
| DEFECT-003 | Defects | Verantwortlicher & Reparaturzuordnung | P1 | S | LOW | DEFECT-002, PERS-002 | ✅ (Zustaendigkeit/Kontrollverantwortung koppelt an Mangel-Objekt) |
| DEFECT-004 | Defects | Abschluss & Dokumentation | P1 | S | LOW | DEFECT-003 | ✅ (`PATCH /maengel/{id}` Statuswechsel inkl. Abschluss) |
| DEFECT-005 | Defects | Readiness-Einfluss (kritisch) | P1 | S | MEDIUM | DEFECT-002, READY-001 | ✅ (`services/mangel.py`: Priorität "hoch" macht Objekt "nicht einsatzbereit") |
| PERS-001 | Personnel | Person (fachlich) | P1 | M | HIGH | FOUND-002 | (laut DECISION-Abschnitt der Datei selbst nicht getrennt, nur `Benutzer`) |
| PERS-002 | Personnel | Benutzer (technisch, verknüpft) | P0 | M | HIGH | PERS-001, FOUND-003 | ✅ (`Benutzer`-Modell, `benutzer.py`-Endpunkt) |
| PERS-001 | Personnel | Person (fachlich) | P1 | M | HIGH | FOUND-002 | (`Person`-Modell, Migration 0034 mit Backfill bestehender Benutzer, `/personen`-CRUD, Admin-UI `PersonSection.tsx`) |
| PERS-002 | Personnel | Benutzer (technisch, verknüpft) | P0 | M | HIGH | PERS-001, FOUND-003 | ✅ (`Benutzer.person_id` FK, `/benutzer` verknüpft bestehende oder legt automatisch neue Person an) |
| PERS-003 | Personnel | Einheiten/Organisationsstruktur | P1 | S | LOW | PERS-001 | ✅ (`Einheit`-Modell, hierarchisch, `einheiten`-Endpunkt) |
| PERS-004 | Personnel | Funktionen/Rollen im Einsatzkontext | P2 | S | LOW | PERS-003 | ✅ (`Einsatzfunktion`-Stammdaten, Migration 0031, `benutzer.einsatzfunktion_id`, Admin-UI in BenutzerSection) |
| PERS-005 | Personnel | Qualifikationen/Lehrgänge | P1 | S | LOW | PERS-001 | ✅ (`Qualifikationstyp`, `BenutzerQualifikation`) |