if (isInitiatorOrAssignee(wt, currentUser) || fromSameParallelReviewWorkflow(wt, currentUser) || isStartTaskOfProcessInvolvedIn(wt, currentUser)) WorkflowTask wt = (WorkflowTask) result; if (isInitiatorOrAssignee(wt, currentUser) || isUserPartOfProcess(wt, currentUser)) if (isInitiatorOrAssignee(taskToUpdate, currentUser)) if (isInitiatorOrAssignee(wt, currentUser) || fromSameParallelReviewWorkflow(wt, currentUser) || isStartTaskOfProcessInvolvedIn(wt, currentUser))
if (isInitiatorOrAssignee(wt, currentUser) || fromSameParallelReviewWorkflow(wt, currentUser) || isStartTaskOfProcessInvolvedIn(wt, currentUser)) WorkflowTask wt = (WorkflowTask) result; if (isInitiatorOrAssignee(wt, currentUser) || isUserPartOfProcess(wt, currentUser)) if (isInitiatorOrAssignee(taskToUpdate, currentUser)) if (isInitiatorOrAssignee(wt, currentUser) || fromSameParallelReviewWorkflow(wt, currentUser) || isStartTaskOfProcessInvolvedIn(wt, currentUser))
private boolean fromSameParallelReviewWorkflow(WorkflowTask wt, String userName) { // check whether this is parallel review workflow, "parallel" will match all parallel workflows (any engine) if (wt.getPath().getInstance().getDefinition().getName().toLowerCase().contains("parallel")) { WorkflowTaskQuery tasksQuery = new WorkflowTaskQuery(); tasksQuery.setTaskState(null); tasksQuery.setActive(null); tasksQuery.setProcessId(wt.getPath().getInstance().getId()); List<WorkflowTask> allWorkflowTasks = workflowService.queryTasks(tasksQuery, true); for (WorkflowTask task : allWorkflowTasks) { if (isInitiatorOrAssignee(task, userName)) { // if at list one match then user has task from the same workflow return true; } } } return false; }
private boolean fromSameParallelReviewWorkflow(WorkflowTask wt, String userName) { // check whether this is parallel review workflow, "parallel" will match all parallel workflows (any engine) if (wt.getPath().getInstance().getDefinition().getName().toLowerCase().contains("parallel")) { WorkflowTaskQuery tasksQuery = new WorkflowTaskQuery(); tasksQuery.setTaskState(null); tasksQuery.setActive(null); tasksQuery.setProcessId(wt.getPath().getInstance().getId()); List<WorkflowTask> allWorkflowTasks = workflowService.queryTasks(tasksQuery, true); for (WorkflowTask task : allWorkflowTasks) { if (isInitiatorOrAssignee(task, userName)) { // if at list one match then user has task from the same workflow return true; } } } return false; }
private boolean isUserPartOfProcess(WorkflowTask wt, String userName) { WorkflowTaskQuery tasksQuery = new WorkflowTaskQuery(); tasksQuery.setTaskState(null); tasksQuery.setActive(null); tasksQuery.setProcessId(wt.getPath().getInstance().getId()); List<WorkflowTask> allWorkflowTasks = workflowService.queryTasks(tasksQuery, true); for (WorkflowTask task : allWorkflowTasks) { if (isInitiatorOrAssignee(task, userName)) { // if at list one match then user has task from the same workflow return true; } } return false; }
private boolean isUserPartOfProcess(WorkflowTask wt, String userName) { WorkflowTaskQuery tasksQuery = new WorkflowTaskQuery(); tasksQuery.setTaskState(null); tasksQuery.setActive(null); tasksQuery.setProcessId(wt.getPath().getInstance().getId()); List<WorkflowTask> allWorkflowTasks = workflowService.queryTasks(tasksQuery, true); for (WorkflowTask task : allWorkflowTasks) { if (isInitiatorOrAssignee(task, userName)) { // if at list one match then user has task from the same workflow return true; } } return false; }