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": "Instanzen",
"nav.staging": "Freigaben",
"nav.cases": "Vorgänge",
"nav.logs": "Protokoll",
"nav.backup": "Sicherung",
"nav.settings": "Einstellungen",
@@ -851,5 +852,65 @@
"desktop.dialog.addService": "Dienst hinzufügen",
"desktop.dialog.restoreBackup": "Sicherung wiederherstellen",
"desktop.dialog.license": "Lizenz-Aktivierung",
"desktop.dialog.instancePicker": "Instanz auswählen"
"desktop.dialog.instancePicker": "Instanz auswählen",
"cases.title": "Vorgänge",
"cases.refresh": "Aktualisieren",
"cases.intro": "Eskalationen und Konflikte, die die Agenten nicht unter sich lösen konnten, und die Beschlüsse, die sie geschlossen haben. Was bis zur Frist niemand löst, landet hier.",
"cases.tabOpen": "Offen",
"cases.tabAll": "Alle",
"cases.tabDecisions": "Beschlüsse",
"cases.none": "Keine offenen Vorgänge",
"cases.noneHint": "Nichts wartet auf eine Entscheidung.",
"cases.noDecisions": "Noch keine Beschlüsse",
"cases.noDecisionsHint": "Jeder entschiedene Vorgang hinterlässt hier einen Beschluss. Er gilt für den Bereich, für den er gefasst wurde, und wird gezeigt, bevor jemand dieselbe Frage erneut stellt.",
"cases.loadFailed": "Vorgänge konnten nicht geladen werden",
"cases.kindEscalation": "Eskalation",
"cases.kindConflict": "Konflikt",
"cases.status.open": "offen",
"cases.status.decided": "entschieden",
"cases.status.handled": "erledigt",
"cases.overdue": "Frist überschritten",
"cases.called": "Mensch gerufen",
"cases.id": "ID",
"cases.openedBy": "Eröffnet von",
"cases.holder": "Liegt bei",
"cases.human": "dir (Mensch)",
"cases.humanAuthor": "Mensch",
"cases.deadline": "Frist",
"cases.level": "Weitergereicht",
"cases.parties": "Seiten",
"cases.informed": "Vermerkt, nicht befragt",
"cases.waitingFor": "Wartet auf",
"cases.origin": "Herkunft",
"cases.trail": "Was jede Ebene gesagt hat",
"cases.entry.opened": "eröffnet",
"cases.entry.joined": "angeschlossen",
"cases.entry.forwarded": "weitergereicht",
"cases.entry.position": "Standpunkt",
"cases.entry.statement": "Stellungnahme",
"cases.entry.statement-requested": "Stellungnahme angefordert",
"cases.entry.called": "Mensch gerufen",
"cases.entry.decided": "entschieden",
"cases.entry.handled": "erledigt",
"cases.entry.note": "Vermerk",
"cases.decide": "Entscheiden",
"cases.decideTitle": "Vorgang {id} entscheiden",
"cases.decideHint": "Deine Entscheidung gilt für die ganze Instanz. Jeder Agent, der dieselbe Frage stellt, bekommt sie vorher angezeigt. Alle, die den Vorgang eröffnet haben oder daran beteiligt sind, erfahren davon.",
"cases.answer": "Entscheidung",
"cases.answerPlaceholder": "Was ab jetzt gilt",
"cases.reasoning": "Begründung",
"cases.reasoningPlaceholder": "Warum. Ohne Begründung lässt sich eine Entscheidung unten nicht anwenden",
"cases.decided": "Beschluss gespeichert.",
"cases.requestStatement": "Stellungnahme anfordern",
"cases.statementTitle": "Stellungnahme zu Vorgang {id} anfordern",
"cases.statementFrom": "Von",
"cases.question": "Frage",
"cases.questionPlaceholder": "Was musst du wissen?",
"cases.statementHint": "Der Agent bekommt eine Aufgabe mit genau dieser Frage und einer eigenen Frist. Der Vorgang bleibt bei dir.",
"cases.statementRequested": "Stellungnahme angefordert.",
"cases.scope": "Gilt für",
"cases.scopeAll": "die ganze Instanz",
"cases.decidedBy": "Entschieden von",
"cases.failed": "Fehlgeschlagen: {error}"
}