feat(personal): PERS-001/002 Person fachlich von Benutzer getrennt
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:
@@ -11,6 +11,10 @@ class BenutzerCreate(BaseModel):
|
||||
rollen: list[RolleTyp] = []
|
||||
einheit_id: int | None = None
|
||||
einsatzfunktion_id: int | None = None
|
||||
# PERS-002: bestehende Person verknüpfen statt automatisch eine neue anzulegen
|
||||
# (z.B. wenn eine bereits erfasste Person - Jugendgruppe o.ä. - nachträglich
|
||||
# einen Login bekommt).
|
||||
person_id: int | None = None
|
||||
|
||||
|
||||
class BenutzerRead(BaseModel):
|
||||
@@ -23,6 +27,7 @@ class BenutzerRead(BaseModel):
|
||||
rollen: list[str]
|
||||
einheit_id: int | None
|
||||
einsatzfunktion_id: int | None
|
||||
person_id: int | None
|
||||
|
||||
@classmethod
|
||||
def from_orm_benutzer(cls, benutzer) -> "BenutzerRead":
|
||||
@@ -35,6 +40,7 @@ class BenutzerRead(BaseModel):
|
||||
rollen=benutzer.rollen_namen,
|
||||
einheit_id=benutzer.einheit_id,
|
||||
einsatzfunktion_id=benutzer.einsatzfunktion_id,
|
||||
person_id=benutzer.person_id,
|
||||
)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user