|
@@ -25,7 +25,9 @@ class ApprovalFlowController extends Controller
|
|
|
{
|
|
|
$nodes = $this->getApprovalNodes($request);
|
|
|
|
|
|
- $limitObject = $request->get("object_type") && $request->get("object_id") && in_array($request->get("type"), [ApprovalFlowType::TASK->value]);
|
|
|
+ $limitObject = $request->get("object_type")
|
|
|
+ && $request->get("object_id")
|
|
|
+ && in_array($request->get("type"), [ApprovalFlowType::TASK->value]);
|
|
|
|
|
|
$exists = ApprovalFlow::query()->where("type", $request->type)
|
|
|
->when(
|
|
@@ -62,7 +64,7 @@ class ApprovalFlowController extends Controller
|
|
|
|
|
|
throw_validation_if($userCount != count($node['approval_users']), "The selected approver does not exist");
|
|
|
|
|
|
- $nodes[$node['level']] = $node;
|
|
|
+ $nodes[$node['level']] = collect($node)->only(['name', 'approval_users', 'approval_mode', 'level'])->toArray();
|
|
|
}
|
|
|
|
|
|
throw_validation_if(max(array_keys($nodes)) != count($nodes), "The level field is incorrect");
|
|
@@ -87,7 +89,9 @@ class ApprovalFlowController extends Controller
|
|
|
sort($oldNodeUsers);
|
|
|
sort($nowNodeUsers);
|
|
|
|
|
|
- if (implode(',', $oldNodeUsers) != implode(',', $nowNodeUsers)) {
|
|
|
+ if (implode(',', $oldNodeUsers) != implode(',', $nowNodeUsers)
|
|
|
+ || $node['approval_mode'] != $nodes[$node['level']]['approval_mode']
|
|
|
+ ) {
|
|
|
$nodeIsChange = true;
|
|
|
break;
|
|
|
}
|