Commit 675bf8b
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
- apps/console/src/pages/system
- packages/app-shell/src/views
- __tests__
0 commit comments