From e4c37ba2197ab5c91fd156a4d7b92c29fed4cccb Mon Sep 17 00:00:00 2001 From: Matthias Hochmeister Date: Fri, 17 Apr 2026 13:07:15 +0200 Subject: [PATCH] fix(ausruestungsanfrage): correct API paths, assignment navigation, and pre-fill user on Zuweisung page --- frontend/src/pages/AusruestungsanfrageZuweisung.tsx | 10 ++++++++-- frontend/src/pages/PersoenlicheAusruestung.tsx | 2 +- frontend/src/services/ausruestungsanfrage.ts | 4 ++-- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/frontend/src/pages/AusruestungsanfrageZuweisung.tsx b/frontend/src/pages/AusruestungsanfrageZuweisung.tsx index c11051a..9b8c330 100644 --- a/frontend/src/pages/AusruestungsanfrageZuweisung.tsx +++ b/frontend/src/pages/AusruestungsanfrageZuweisung.tsx @@ -82,15 +82,21 @@ export default function AusruestungsanfrageZuweisung() { // Initialize assignments when unassigned positions load useMemo(() => { - if (unassigned.length > 0 && Object.keys(assignments).length === 0) { + if (unassigned.length > 0 && Object.keys(assignments).length === 0 && detail) { const init: Record = {}; + const anfrage = detail.anfrage; for (const p of unassigned) { // Pre-fill eigenschaften from position values const prefilled: Record = {}; for (const e of p.eigenschaften ?? []) { prefilled[e.eigenschaft_id] = e.wert; } - init[p.id] = { typ: 'persoenlich', eigenschaften: prefilled }; + init[p.id] = { + typ: 'persoenlich', + eigenschaften: prefilled, + userId: anfrage.anfrager_id, + benutzerName: anfrage.fuer_benutzer_name || anfrage.anfrager_name, + }; } setAssignments(init); } diff --git a/frontend/src/pages/PersoenlicheAusruestung.tsx b/frontend/src/pages/PersoenlicheAusruestung.tsx index 1a982b6..5720432 100644 --- a/frontend/src/pages/PersoenlicheAusruestung.tsx +++ b/frontend/src/pages/PersoenlicheAusruestung.tsx @@ -341,7 +341,7 @@ function PersoenlicheAusruestungPage() { - diff --git a/frontend/src/services/ausruestungsanfrage.ts b/frontend/src/services/ausruestungsanfrage.ts index cb7d3a2..223987b 100644 --- a/frontend/src/services/ausruestungsanfrage.ts +++ b/frontend/src/services/ausruestungsanfrage.ts @@ -191,12 +191,12 @@ export const ausruestungsanfrageApi = { // ── Position linking ── linkPositionToArtikel: async (positionId: number, artikelId: number): Promise => { - await api.patch(`/api/ausruestungsanfrage/positionen/${positionId}/artikel`, { artikel_id: artikelId }); + await api.patch(`/api/ausruestungsanfragen/positionen/${positionId}/artikel`, { artikel_id: artikelId }); }, // ── Unassigned positions ── getUnassignedPositions: async (): Promise => { - const r = await api.get<{ success: boolean; data: UnassignedPosition[] }>('/api/ausruestungsanfrage/nicht-zugewiesen'); + const r = await api.get<{ success: boolean; data: UnassignedPosition[] }>('/api/ausruestungsanfragen/nicht-zugewiesen'); return r.data.data; }, };