Vorgaenge in der WebUI: entscheiden und Stellungnahme anfordern (#689, Stufe 3)

- /api/cases (offen/alle), /api/cases/{id}/decide, /api/cases/{id}/statement, /api/decisions
- Ansicht "Vorgaenge": offene Faelle mit Verlauf je Ebene (Lauf-Links), Frist und
  "Mensch gerufen"; Reiter Beschluesse mit Reichweite; Zaehler in der Seitenleiste
- Konzept Abschnitt 5: Umsetzung

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Richard
2026-09-25 09:53:25 +02:00
co-authored by Claude Opus 5.5
parent 36fe1ad2aa
commit 418a73015d
11 changed files with 600 additions and 2 deletions
@@ -222,6 +222,7 @@
"nav.group.system": "System",
"nav.instances": "Instances",
"nav.staging": "Approvals",
"nav.cases": "Cases",
"nav.logs": "Logs",
"nav.backup": "Backup",
"nav.settings": "Settings",
@@ -851,5 +852,65 @@
"desktop.dialog.addService": "Add Service",
"desktop.dialog.restoreBackup": "Restore Backup",
"desktop.dialog.license": "License Activation",
"desktop.dialog.instancePicker": "Choose Instance"
"desktop.dialog.instancePicker": "Choose Instance",
"cases.title": "Cases",
"cases.refresh": "Refresh",
"cases.intro": "Escalations and conflicts the agents could not solve among themselves, and the decisions that closed them. A case nobody solves by its deadline comes here.",
"cases.tabOpen": "Open",
"cases.tabAll": "All",
"cases.tabDecisions": "Decisions",
"cases.none": "No open cases",
"cases.noneHint": "Nothing waits for a decision.",
"cases.noDecisions": "No decisions yet",
"cases.noDecisionsHint": "Every decided case leaves a decision here. It binds the area it was made for and is shown before anyone asks the same again.",
"cases.loadFailed": "Cases could not be loaded",
"cases.kindEscalation": "Escalation",
"cases.kindConflict": "Conflict",
"cases.status.open": "open",
"cases.status.decided": "decided",
"cases.status.handled": "handled",
"cases.overdue": "past deadline",
"cases.called": "human called",
"cases.id": "ID",
"cases.openedBy": "Opened by",
"cases.holder": "With",
"cases.human": "you (human)",
"cases.humanAuthor": "human",
"cases.deadline": "Deadline",
"cases.level": "Passed on",
"cases.parties": "Sides",
"cases.informed": "Told, not asked",
"cases.waitingFor": "Waiting for",
"cases.origin": "Arose from",
"cases.trail": "What each level said",
"cases.entry.opened": "opened",
"cases.entry.joined": "joined",
"cases.entry.forwarded": "passed on",
"cases.entry.position": "position",
"cases.entry.statement": "statement",
"cases.entry.statement-requested": "statement requested",
"cases.entry.called": "human called",
"cases.entry.decided": "decided",
"cases.entry.handled": "handled",
"cases.entry.note": "note",
"cases.decide": "Decide",
"cases.decideTitle": "Decide case {id}",
"cases.decideHint": "Your decision binds the whole instance and is shown to every agent that raises the same question. Everyone who raised it or is a side of it hears it.",
"cases.answer": "Decision",
"cases.answerPlaceholder": "What holds from now on",
"cases.reasoning": "Reasoning",
"cases.reasoningPlaceholder": "Why — without reasons a decision cannot be applied below",
"cases.decided": "Decision recorded.",
"cases.requestStatement": "Request statement",
"cases.statementTitle": "Request a statement for case {id}",
"cases.statementFrom": "From",
"cases.question": "Question",
"cases.questionPlaceholder": "What do you need to know?",
"cases.statementHint": "The agent gets a task with exactly this question and its own deadline. The case stays with you.",
"cases.statementRequested": "Statement requested.",
"cases.scope": "Binds",
"cases.scopeAll": "the whole instance",
"cases.decidedBy": "Decided by",
"cases.failed": "Failed: {error}"
}