Skip to content

Process tasks: complete via Inbox endpoint, show current step, refresh on select#6075

Open
delchev wants to merge 2 commits into
masterfrom
feat/process-tasks-refinements
Open

Process tasks: complete via Inbox endpoint, show current step, refresh on select#6075
delchev wants to merge 2 commits into
masterfrom
feat/process-tasks-refinements

Conversation

@delchev

@delchev delchev commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Follow-ups on the in-context BPM user-task surfacing merged in #6074.

Changes

  • Complete via the Inbox endpoint. The generated task form now POSTs COMPLETE to the per-task permission-checked /services/inbox/tasks/{id} instead of the role-guarded /services/bpm/bpm-processes/tasks/{id}. The latter requires ADMINISTRATOR/DEVELOPER/OPERATOR, so a candidate-group user who can claim and act on a task could still be refused on completion. (FormIntentGenerator)
  • Show the current step inline. The <entity-process-tasks> control now labels itself with the single actionable task's name (answers "why is there a task here?" at a glance), collapsing to a count when several. (process-tasks.js)
  • Refresh on selection. In the master-list / master-manage main-details panes, task buckets are refreshed on entitySelected, so the badge stays current while navigating master records.
  • Test coverage. IntentEngineIT.assertForm now asserts the Inbox endpoint and both close calls (closeWindow() + window.close()), and forbids the role-guarded BPM endpoint — locking in the completion-path and close behaviour. (HTTP-only, no Selenide.)

Notes

The browser-side directive (process-tasks.js) and template wiring remain exercised manually; a full Selenide IT would need the intent sample repo to carry a process-triggered entity + form (a cross-repo effort), so it's deferred.

🤖 Generated with Claude Code

delchev and others added 2 commits June 23, 2026 09:59
…resh on select

Follow-ups on the in-context BPM task surfacing:
- FormIntentGenerator: the generated task form now completes via the per-task
  permission-checked /services/inbox/tasks/{id} instead of the role-guarded
  /services/bpm/bpm-processes/tasks/{id} (which blocked candidate-group users
  who can claim/act but lack ADMINISTRATOR/DEVELOPER/OPERATOR).
- process-tasks directive: shows the current step (the single actionable task's
  name) inline, collapsing to a count when several.
- master-list/master-manage main-details: refresh task buckets on entitySelected
  so the badge stays current while navigating master records.
- IntentEngineIT.assertForm: assert the inbox endpoint + both close calls and
  forbid the role-guarded BPM endpoint.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ing)

Cross-reference in the root + engine-intent CLAUDE.md that the trigger-written
ProcessId is read by the generated entity-view UI (shared ProcessTasks module +
<entity-process-tasks> directive): how it correlates (entity.ProcessId ===
task.processInstanceId), which views are wired (gated on hasProcess), and that
the task form completes via the permission-checked Inbox endpoint and self-closes.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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