Staff controls in the UI

Since 1.29.0 (#153082) everything the edit-task ability does to a task’s workflow can be done in the UI too: MCP abilities are never the only route to an action. Both routes below go through LH_Tasks_task_actions_class::edit_task(), so the change is logged as an admin_override entry and fires the same actions as the ability. Both need the task capability (staff).

Block editor

The Task queue panel has a Change status control with every workflow status, a Release claim button while the task is claimed, and a Reset retries button once retries have been used, each with a way to undo before saving. Releasing the claim on a Claimed or In Progress task also sets it back to New. Changes save with Update, logged with the note “Changed in the block editor.”

They go through their own REST field, lh_tasks_workflow (status, claimed_by, retry_count; edit context, task capability), not lh_tasks. The block editor only sends fields that were edited, so a save that changes only the due date never carries a stale status back over a claim an agent made meanwhile. claimed_by and retry_count only ever release or reset: sending 0 clears them, and any other value changes nothing. Unknown statuses, and status changes on a task with no queue record, refuse the whole save. lh_tasks_info also returns statuses, the value and label pairs for the control.

Task page

edit_task() changes

Other abilities

Review and add-note were already open to staff on the task page, and the editor’s Assigned to picker covers staff reassignment. Complete, fail, reassign and renew-claim are claim-holder actions for agents; staff reach the same end states with the status control.