Personenliste: Haushaltsgruppierung, erweiterte Admin-Ansicht & Person anlegen #254
Labels
No labels
component/backend
component/docs
component/e2e
component/frontend
component/infra
component/keycloak
prio/high
prio/low
prio/medium
type/bug
type/chore
type/feature
type/refactor
type/test
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
WompSchmiede/FamilienFeierPlaner#254
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Beschreibung
Die Personenliste (
/app/persons) wird um Haushaltsgruppierung, eine erweiterte Admin-Ansicht und die Person-Neuanlage erweitert.Phase 1 — Backend:
include=consentAnalog zu
include=emailaddress(PR #256 / Commit6804774):parsePersonInclude:'consent'ins valid-Set aufnehmenPERSON_CONSENT_INCLUDE:consentsGiven: { take: 1, orderBy: { acceptedAt: 'desc' } }mapPersonConsent()fuegtconsentGranted: booleanzum Response hinzuPersonWithGroupinopenapi.yaml:consentGranted: booleanergaenzenDateien:
backend/src/routes/persons.ts,backend/openapi.yaml,backend/src/__tests__/persons.test.ts,frontend/src/lib/api/generated.tsPhase 2 — Frontend: Personenliste umbauen
Gruppierung nach Haushalt
Client-seitig via
$derived.by– exakt wie die Gaesteliste im Event-Detail (householdGroups-Pattern). API-Call mit?include=group,emailaddress,consent&archived=....Spalten je nach Rolle/Ansicht
create-ModusPersonEditModal erweitern
mode: 'edit' | 'create'create-Modus: leere Felder, Household-Dropdown mit allen Gruppen (/api/v1/groups)edit-Modus: bestehendes Verhalten, Dropdown inaktiv/ausgegraut?/createin+page.server.tsPOST /api/v1/groups/{id}/join-request(Beitrittsanfrage)Dateien:
frontend/src/routes/app/persons/+page.svelte,frontend/src/routes/app/persons/+page.server.ts,frontend/src/lib/components/person-edit-modal.svelte,frontend/src/lib/config/person-table.ts,frontend/src/lib/i18n/de/persons.jsonPhase 3 — E2E-Tests
Komplette Neuimplementierung von
e2e/specs/test-2-independent/persons.spec.ts:Test 1 — Thomas Koenig (app-user, kein edit-person):
Test 2 — Max Mustermann (app-admin, edit-person):
Abhaengigkeiten
include=emailaddress) muss gemergt sein (Branchissue-254-2bereits rebased)Issue-Referenzen
Checkliste
use:testidan neuen<button>,<a>,<form>-Elementen gesetzt