Skip to content
Snippets Groups Projects
Verified Commit 0823c304 authored by Damien's avatar Damien
Browse files

FEAT #14568 TIME 1:00 Fix higher signature mode

parent 4d7fbb22
No related branches found
No related tags found
No related merge requests found
......@@ -183,7 +183,7 @@ class UserController
return $response->withStatus(400)->withJson(['errors' => 'Body email is empty or not a valid email']);
}
$user = UserModel::getById(['id' => $args['id'], 'select' => [1]]);
$user = UserModel::getById(['id' => $args['id'], 'select' => ['signature_modes']]);
if (empty($user)) {
return $response->withStatus(400)->withJson(['errors' => 'User does not exist']);
}
......@@ -205,19 +205,27 @@ class UserController
$modes[] = $signatureMode;
}
}
$set['signature_modes'] = $modes;
$validModes = CoreConfigModel::getSignatureModes();
$higherMode = 'stamp';
foreach ($validModes as $validMode) {
if (in_array($validMode['id'], $modes)) {
$higherMode = $validMode['id'];
break;
}
}
WorkflowModel::update([
'set' => ['signature_mode' => 'stamp'],
'set' => ['signature_mode' => $higherMode],
'where' => ['user_id = ?', 'signature_mode not in (?)', 'process_date is null', 'signature_mode != ?'],
'data' => [$args['id'], $body['signatureModes'], 'stamp']
'data' => [$args['id'], $modes, $higherMode]
]);
WorkflowTemplateItemModel::update([
'set' => ['signature_mode' => 'stamp'],
'set' => ['signature_mode' => $higherMode],
'where' => ['user_id = ?', 'signature_mode not in (?)', 'signature_mode != ?'],
'data' => [$args['id'], $body['signatureModes'], 'stamp']
'data' => [$args['id'], $modes, $higherMode]
]);
$set['signature_modes'] = $body['signatureModes'];
$set['signature_modes'] = $modes;
}
$set['signature_modes'] = json_encode($set['signature_modes']);
......
......@@ -57,14 +57,23 @@ class WorkflowTemplateController
$workflowTemplatesUsers = [];
foreach ($rawWorkflowTemplatesUsers as $value) {
$user = UserModel::getById(['id' => $value['user_id'], 'select' => ['signature_modes']]);
$user['signature_modes'] = json_decode($user['signature_modes'], true);
$higherMode = 'stamp';
foreach ($validSignatureModes as $validMode) {
if (in_array($validMode, $user['signature_modes'])) {
$higherMode = $validMode['id'];
break;
}
}
$workflowTemplatesUsers[] = [
'userId' => $value['user_id'],
'userLabel' => UserModel::getLabelledUserById(['id' => $value['user_id']]),
'mode' => $value['mode'],
'signatureMode' => in_array($value['signature_mode'], $validSignatureModes) ? $value['signature_mode'] : 'stamp',
'signatureMode' => in_array($value['signature_mode'], $validSignatureModes) ? $value['signature_mode'] : $higherMode,
'order' => $value['order'],
'userSignatureModes' => array_intersect(json_decode($user['signature_modes'], true), $validSignatureModes)
'userSignatureModes' => array_intersect($user['signature_modes'], $validSignatureModes)
];
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment