Skip to content
Snippets Groups Projects
Verified Commit 5ad258ee authored by Florian Azizian's avatar Florian Azizian
Browse files

FEAT #8391 TIME 1 End connection with xParaph

parent 55f651bb
No related branches found
No related tags found
No related merge requests found
......@@ -230,7 +230,7 @@ if (file_exists($GLOBALS['errorLckFile'])) {
Bt_getWorkBatch();
$GLOBALS['logger']->write('Retrieve attachments sent to remote signatory book', 'INFO');
$query = "SELECT res_id, res_id_version, external_id->>'signatureBookId' as external_id, external_id->>'xparaphDepot', format, res_id_master, title, identifier, type_id, attachment_type, dest_contact_id, dest_address_id, dest_user, typist, attachment_id_master, relation
$query = "SELECT res_id, res_id_version, external_id->>'signatureBookId' as external_id, external_id->>'xparaphDepot' as xparaphdepot, format, res_id_master, title, identifier, type_id, attachment_type, dest_contact_id, dest_address_id, dest_user, typist, attachment_id_master, relation
FROM res_view_attachments WHERE status = 'FRZ' AND external_id->>'signatureBookId' IS NOT NULL AND external_id->>'signatureBookId' <> ''";
$stmt = $GLOBALS['db']->query($query, []);
......
......@@ -42,11 +42,21 @@ class XParaphController
$attachmentToFreeze = [];
$userGeneric = [];
foreach ($aArgs['config']['data']['userGeneric'] as $userGenericXml) {
if ($userGenericXml->siret == $aArgs['info']['siret']) {
$userGeneric = (array)$userGenericXml;
break;
if (isset($aArgs['config']['data']['userGeneric']->siret)) {
if ($aArgs['config']['data']['userGeneric']->siret == $aArgs['info']['siret']) {
$userGeneric = (array)$aArgs['config']['data']['userGeneric'];
}
} else {
foreach ($aArgs['config']['data']['userGeneric'] as $userGenericXml) {
if ($userGenericXml->siret == $aArgs['info']['siret']) {
$userGeneric = (array)$userGenericXml;
break;
}
}
}
if (empty($userGeneric)) {
return ['error' => 'No user generic for this siret'];
}
foreach ($attachments as $value) {
......@@ -308,6 +318,9 @@ class XParaphController
break;
}
}
if (empty($userGeneric)) {
return $response->withStatus(403)->withJson(['error' => 'No user generic for this siret']);
}
} else {
return $response->withStatus(403)->withJson(['errors' => 'xParaph is not enabled']);
}
......@@ -372,17 +385,24 @@ class XParaphController
foreach (['noVersion', 'isVersion'] as $version) {
$depotsBySiret = [];
foreach ($aArgs['idsToRetrieve'][$version] as $resId => $value) {
$externalId = json_decode($value['xparaphDepot'], true);
$externalId = json_decode($value->xparaphdepot, true);
$depotsBySiret[$externalId['siret']][$value->external_id] = ['resId' => $resId, 'login' => $externalId['login']];
}
foreach ($depotsBySiret as $siret => $depotids) {
foreach ($aArgs['config']['userGeneric'] as $userGenericXml) {
if ($userGenericXml['siret'] == $siret) {
$userGeneric = $userGenericXml;
break;
if (isset($aArgs['config']['data']['userGeneric']->siret)) {
if ($aArgs['config']['data']['userGeneric']->siret == $siret) {
$userGeneric = (array)$aArgs['config']['data']['userGeneric'];
}
} else {
foreach ($aArgs['config']['data']['userGeneric'] as $userGenericXml) {
if ($userGenericXml->siret == $siret) {
$userGeneric = (array)$userGenericXml;
break;
}
}
}
if (!empty($depotids)) {
$avancements = XParaphController::getAvancement(['config' => $aArgs['config'], 'depotsIds' => $depotids, 'userGeneric' => $userGeneric]);
} else {
......@@ -391,6 +411,7 @@ class XParaphController
}
foreach ($aArgs['idsToRetrieve'][$version] as $resId => $value) {
$xParaphDepot = json_decode($value->xparaphdepot, true);
$avancement = $avancements[$value->external_id];
$state = XParaphController::getState(['avancement' => $avancement]);
......@@ -399,7 +420,7 @@ class XParaphController
$aArgs['idsToRetrieve'][$version][$resId]->status = 'refused';
$aArgs['idsToRetrieve'][$version][$resId]->noteContent = $state['note'];
$processedFile = XParaphController::getFile(['config' => $aArgs['config'], 'depotId' => $value->external_id, 'userGeneric' => $userGeneric, 'depotLogin' => $depotids['login']]);
$processedFile = XParaphController::getFile(['config' => $aArgs['config'], 'depotId' => $value->external_id, 'userGeneric' => $userGeneric, 'depotLogin' => $xParaphDepot['login']]);
if (!empty($processedFile['errors'])) {
unset($aArgs['idsToRetrieve'][$version][$resId]);
continue;
......@@ -421,7 +442,7 @@ class XParaphController
$aArgs['idsToRetrieve'][$version][$resId]->log = $log;
} elseif ($state['id'] == 'validateSignature' || $state['id'] == 'validateOnlyVisa') {
$processedFile = XParaphController::getFile(['config' => $aArgs['config'], 'depotId' => $value->external_id]);
$processedFile = XParaphController::getFile(['config' => $aArgs['config'], 'depotId' => $value->external_id, 'userGeneric' => $userGeneric, 'depotLogin' => $xParaphDepot['login']]);
if (!empty($processedFile['errors'])) {
unset($aArgs['idsToRetrieve'][$version][$resId]);
continue;
......
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