feat: Betrieb-Module auf 100% — Buttons verdrahtet, Delete-Flows, tote Links gefixt
All checks were successful
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-ai-compliance (push) Successful in 36s
CI / test-python-backend-compliance (push) Successful in 32s
CI / test-python-document-crawler (push) Successful in 22s
CI / test-python-dsms-gateway (push) Successful in 17s

- consent-management: ConsentTemplateCreateModal + useRouter für DSR-Navigation
- vendor-compliance: QuickActionCard unterstützt onClick; /vendors/new → Modal, /processing-activities/new → Liste
- incidents: handleDeleteIncident + Löschen-Button im IncidentDetailDrawer
- whistleblower: handleDeleteReport + Löschen-Button im CaseDetailPanel
- escalations: handleDeleteEscalation + Löschen-Button im EscalationDetailDrawer
- notfallplan: ExerciseCreateModal (API-backed) + handleDeleteExercise + Neue-Übung-Button

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-03-03 13:36:21 +01:00
parent b19fc11737
commit 232997deb6
6 changed files with 397 additions and 13 deletions

View File

@@ -252,6 +252,23 @@ function EscalationDetailDrawer({ escalation, onClose, onUpdated }: DrawerProps)
)
const [saving, setSaving] = useState(false)
const [statusSaving, setStatusSaving] = useState(false)
const [isDeleting, setIsDeleting] = useState(false)
async function handleDeleteEscalation() {
if (!window.confirm(`Eskalation "${escalation.title}" wirklich löschen?`)) return
setIsDeleting(true)
try {
const res = await fetch(`/api/sdk/v1/escalations/${escalation.id}`, { method: 'DELETE' })
if (!res.ok) throw new Error(`Fehler: ${res.status}`)
onUpdated()
onClose()
} catch (err) {
console.error('Löschen fehlgeschlagen:', err)
alert('Löschen fehlgeschlagen.')
} finally {
setIsDeleting(false)
}
}
async function handleSaveEdit() {
setSaving(true)
@@ -446,6 +463,17 @@ function EscalationDetailDrawer({ escalation, onClose, onUpdated }: DrawerProps)
)}
</div>
</div>
{/* Delete */}
<div className="pt-2 border-t border-gray-100">
<button
onClick={handleDeleteEscalation}
disabled={isDeleting}
className="px-4 py-2 bg-red-600 text-white rounded-lg hover:bg-red-700 text-sm transition-colors disabled:opacity-50"
>
{isDeleting ? 'Löschen...' : 'Löschen'}
</button>
</div>
</div>
</div>
</div>