Skip to content

FINERACT-2762: Client Approval/Activation Fails for Branch Manager Despite Having Required Permissions - #6282

Open
rymghosn wants to merge 1 commit into
apache:developfrom
foodeveloper:port/CBS-511-checker-only-auto-approve
Open

FINERACT-2762: Client Approval/Activation Fails for Branch Manager Despite Having Required Permissions#6282
rymghosn wants to merge 1 commit into
apache:developfrom
foodeveloper:port/CBS-511-checker-only-auto-approve

Conversation

@rymghosn

Copy link
Copy Markdown
Contributor

For a maker-checker-enabled task, a user holding only the _CHECKER permission (no base permission) was refused with a generic "not
authorized" response when calling the entity's normal action endpoint — even when a matching maker submission was already awaiting exactly this
user's approval. The only way such a user could act was through the separate checker-inbox approval endpoint (POST
.../commands/{id}?command=approve); there was no fallback when a checker-only user instead called the same action endpoint a maker would use
(e.g. POST /clients/{clientId}?command=activate), which is the natural path from the entity's own screen.

PortfolioCommandSourceWritePlatformServiceImpl#logCommandSource now checks, for a checker-only caller, whether a pending CommandSource exists for
the same action/entity/resource, and approves it directly if found. If none exists, the call is refused with the existing permission-denied
response, unchanged. Maker flows and users holding both the base and checker permission are unaffected.
PR:(https://issues.apache.org/jira/browse/FINERACT-2762)

…ts direct endpoint

A user holding only the "<TASK>_CHECKER" permission for a maker-checker task
(no base permission) was refused outright when calling the action's normal
endpoint, even when a matching maker submission was already awaiting their
approval. This forced such users through the separate checker-inbox approval
endpoint for every case, with no fallback when that endpoint wasn't reachable.

Checker-only calls now look up the pending command for the same
action/entity/resource and auto-approve it if one exists; if none exists, the
call is refused with the existing permission-denied response, unchanged.
Maker flows and users holding both the base and checker permission are
unaffected.
@rymghosn
rymghosn force-pushed the port/CBS-511-checker-only-auto-approve branch from e6437af to 8ec1cfb Compare August 18, 2026 13:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant