Skip to content

Commit 675bf8b

Browse files
os-zhuangclaude
andauthored
feat(approvals-inbox): retire hardcoded secondary buttons for server-declared actions (#2697)
Completes objectui#2678 P2-4: the approvals inbox no longer hand-wires a button per decision capability. With the full declared action set now on sys_approval_request (framework#3300), DeclaredActionsBar renders and executes them, so the inbox drops its bespoke send-back / request-info / reassign / remind / recall / resubmit buttons — plus the three AlertDialogs, five action handlers, and the lazy user-directory loader that backed them. - DeclaredActionsBar gains an `exclude` prop. The inbox keeps approve/reject in its richer composer (it stages file attachments the generic param dialog can't yet collect) and `exclude`s them from the bar, so the two never render duplicate buttons. - Pending drawer: the "More actions" bar covers reassign/send-back/request-info (approver) and remind/recall (submitter, gated by the declared `visible` CEL). - Returned drawer: keeps the Edit-record link; resubmit and recall-abandon come from the bar (gated to the submitter on a returned request). Net: ~230 fewer lines of inbox-specific action code; new decision capabilities now ship as backend metadata (enterprise act-as, cloud#861, included). Verified in-browser against the live backend: the drawer shows approve/reject in the composer and send-back/request-info/reassign/remind/recall in "More actions" with zero duplicates; resubmit correctly hidden on a pending request; Reassign opens a real sys_user picker; clicking declared "Send reminder" executed /remind and appended a `remind` audit row. app-shell suite green (7 DeclaredActionsBar tests incl. exclude); console typecheck clean. Claude-Session: https://claude.ai/code/session_016ypkQikZ55oWUHUnMebwXA Co-authored-by: Claude <noreply@anthropic.com>
1 parent fd45313 commit 675bf8b

3 files changed

Lines changed: 79 additions & 319 deletions

File tree

0 commit comments

Comments
 (0)