fix(approvals): usertest-panel hardening (0.81.0)
Panel findings against the reworked approvals page, fixed in place: - Never fabricate the request time: ApprovalRecord.createdAt is nullable now; a missing created_at omits the line instead of rendering DateTime.now() (which drifted on refresh). Guard: approvals_origin_test pins the omit-on-null invariant. - Copyable errors on approve/reject/batch via showChainErrorSnack (the hard project rule) — batch surfaces the first real cause. - Reject requires a reason: ChainInlineHelp strip + confirm disabled while empty, no more silent close-and-nothing-happens. - Batch approve applies the same no-data confirmation as the single path, naming how many selected requests carry no show: data. - Plainer language: glossary "Vorgang (Flow)", history label FRAGE (was PROMPT), no-data hint drops developer jargon. - One-click copy of the run id; history payload pretty-prints like the card. Signed-off-by: flemming-it <stefan.a.flemming@googlemail.com>
This commit is contained in:
parent
28f6fe1a9a
commit
f7d7427d91
9 changed files with 411 additions and 122 deletions
|
|
@ -1095,13 +1095,20 @@
|
|||
"approvalsPillRejected": "abgelehnt",
|
||||
"approvalsPillExpired": "abgelaufen",
|
||||
"approvalsPayloadPreview": "ZU PRÜFENDE DATEN",
|
||||
"approvalsNoPayload": "Keine Daten zum Prüfen angehängt. Der system.approval-Schritt des Flows bestimmt über sein \"show:\"-Feld, was angezeigt wird — setzen Sie es, um die Daten hinter dieser Entscheidung sichtbar zu machen.",
|
||||
"approvalsNoPayload": "Zu dieser Freigabe wurden keine Daten hinterlegt. Sie entscheiden ohne Detailansicht — fragen Sie im Zweifel die Person, die den Vorgang eingerichtet hat. (Technisch: das Feld \"show:\" des Freigabe-Schritts legt fest, was hier erscheint.)",
|
||||
"approvalsNoDataConfirmTitle": "Ohne Prüfdaten freigeben?",
|
||||
"approvalsNoDataConfirmBody": "Dieser Flow hat bewusst keine Prüfdaten hinterlegt (kein \"show:\" am Freigabe-Schritt). Sie können trotzdem freigeben — entscheiden dann aber, ohne die Daten hinter dieser Entscheidung gesehen zu haben.",
|
||||
"approvalsNoDataConfirmAction": "Trotzdem freigeben",
|
||||
"approvalsRequestFallback": "Freigabe für diesen Schritt erforderlich",
|
||||
"approvalsFlowStepMeta": "Flow: {flow} · Schritt: {step}",
|
||||
"approvalsIntroHelp": "Hier warten pausierte Flows auf Ihre Entscheidung. Jede Karte zeigt, welcher Flow an welchem Schritt hält und welche Daten er Ihnen vorlegt — Freigeben setzt den Flow fort, Ablehnen stoppt ihn mit Ihrer Begründung.",
|
||||
"approvalsIntroHelp": "Hier warten pausierte Vorgänge (Flows) auf Ihre Entscheidung. Jede Karte zeigt, welcher Vorgang an welchem Schritt hält und welche Daten er Ihnen vorlegt — Freigeben setzt ihn fort, Ablehnen stoppt ihn mit Ihrer Begründung.",
|
||||
"approvalsRejectDialogHelp": "Die Ablehnung stoppt den Vorgang an diesem Schritt und wird mit Ihrer Begründung im Prüfprotokoll festgehalten.",
|
||||
"approvalsRejectReasonHelper": "Pflichtfeld — wird im Prüfprotokoll (Audit-Log) festgehalten.",
|
||||
"approvalsBatchNoDataTitle": "Ohne Prüfdaten freigeben?",
|
||||
"approvalsBatchNoDataBody": "{count, plural, =1{Von {total} ausgewählten Freigaben hat 1 keine Prüfdaten. Sie geben sie ohne Detailansicht frei.} other{Von {total} ausgewählten Freigaben haben {count} keine Prüfdaten. Sie geben sie ohne Detailansicht frei.}}",
|
||||
"approvalsCopyRun": "Lauf-Kennung kopieren",
|
||||
"approvalsRunCopied": "Lauf-Kennung kopiert",
|
||||
"approvalsUnknownReviewer": "(unbekannt)",
|
||||
"approvalsOriginLabel": "HERKUNFT",
|
||||
"approvalsOriginProject": "Projekt",
|
||||
"approvalsOriginRequested": "Angefordert",
|
||||
|
|
@ -1111,7 +1118,7 @@
|
|||
"approvalsApproveButton": "Freigeben",
|
||||
"approvalsRejectButton": "Ablehnen",
|
||||
"approvalsRejectDialogTitle": "Freigabe ablehnen",
|
||||
"approvalsRejectReasonLabel": "Begründung (im Audit-Log festgehalten)",
|
||||
"approvalsRejectReasonLabel": "Begründung",
|
||||
"approvalsApprovedToast": "freigegeben · {flow} › {step}",
|
||||
"@approvalsApprovedToast": {
|
||||
"placeholders": {
|
||||
|
|
@ -1155,7 +1162,7 @@
|
|||
"approvalsDialogDecided": "entschieden",
|
||||
"approvalsDialogCreated": "erstellt",
|
||||
"approvalsDialogReason": "Begründung",
|
||||
"approvalsDialogPrompt": "PROMPT",
|
||||
"approvalsDialogPrompt": "FRAGE",
|
||||
"approvalsExpiresIn": "{minutes}m",
|
||||
"@approvalsExpiresIn": {
|
||||
"placeholders": {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue