Description
The action filter is executed when the user is trying to claim a task.
Use this filter to add any pre validation before a user can claim a task. For example, if you want to limit the number of tasks a user can actively work on, you can restrict the user from claiming additional tasks.
Usage
add_filter( 'owf_claim_process_pre', array( 'pre_validate_claim', 10, 4 );
Parameters
- $validation_result – Array of Validation Messages. Add your validation message to this array.
- $action_history_id – Action History ID, will be used to retrieve any information related to the current task.
- $post_id – ID of the post.
- $user_id – ID of the user claiming the task.
Example
add_filter( 'owf_claim_process_pre', 'pre_validate_claim', 10, 4 ); // a user cannot have more than 5 assignments in his/her inbox. function pre_validate_claim( $validation_result, $action_history_id, $post_id, $user_id ) { // sanitize data $action_history_id = intval( $action_history_id ); $post_id = intval( $post_id ); $user_id = intval( $user_id ); $assigned_task_count = 0; $ow_process_flow = new OW_Process_Flow(); $assigned_tasks = $ow_process_flow->get_assigned_post( null, $user_id ); foreach( $assigned_tasks as $assigned_task ) { if( ! $ow_process_flow->check_for_claim( $assigned_task->ID) ) { // if this task is already claimed $assigned_task_count++; } } if ( $assigned_task_count >= 2 ) { $error_messages[] = __( "You cannot claim additional tasks, since you already have more than 5 assignments.", 'oasisworkflow' ); $validation_result = array_merge( $validation_result, $error_messages ); } return $validation_result; }
Source Code
The filter is located in class-ow-process-flow.php
Didn't find what you are looking for? Submit a Query
Restricting Self-ReviewManage Inbox Actions Filter
Restricting Self-ReviewManage Inbox Actions Filter