Use Case
Parallel Approval Workflow - requires approval from a group of people, in any order - they can submit their responses (approve/deny) concurrently.
Configuration
Pricefx approval workflow consists of a sequence of approval steps - ApprovalStepDTO.
To make an approval step parallel, you need to:
-
Assign approvers:
-
Either a list of particular users - withApprovers()
-
Or a list of user groups - withUserGroupApprovers()
-
-
Set the minimal number of approvers:
-
How many users must approve the step - withMinApprovalsNeeded()
-
Or how many users from each group must approve the step - withMinApprovalsForGroups()
If the necessary number of approvals required for an approval is reached, the document is regarded as having been approved.
-
Optional Behaviors
One User in More Approval Groups
In the case, when a user can be a member of more groups within a single parallel approval step, you can set up a behavior of the approval/denial actions for the parallel approval step.
-
The user can execute an approval/denial separately and independently on behalf of several groups (to which they belong) of the step. See the method withSingleUserMultiApprovalAllowed(boolean).
-
TRUE - A user is allowed to do more approvals (on behalf of more groups), within a parallel approval step.
-
FALSE (default) - A user can make only one "approval", i.e., only on behalf of one group, within a parallel approval step.
-
-
The user will approve all parallel groups, he/she is entitled to, in single approve action. Remember, that you can allow this behavior only if the user is allowed to do the more approvals within a parallel approval step. See the method withParallelStepApprovalAllowed(boolean).
-
TRUE - A single approve action will cause the approval of all groups (the user is entitled to) within the parallel approval step.
-
In the UI, when the user is allowed not to select a specific group, and click the Approve button. This way they will approve on behalf of all groups, to which they belong.
-
In the Email, the Approve button will approve on behalf of all groups, to which they belong.
-
-
FALSE (default) - User’s approve action will approve only on behalf of one group.
-