From bffe1f6bd05dc01346b9d1f601a9731fd5ba3513 Mon Sep 17 00:00:00 2001 From: "florian.azizian" <florian.azizian@maarch.org> Date: Wed, 17 Apr 2019 15:23:58 +0100 Subject: [PATCH] FEAT #8391 xParaph workflow --- .../controllers/XParaphController.php | 51 ++++++++++++++----- 1 file changed, 38 insertions(+), 13 deletions(-) diff --git a/src/app/external/externalSignatoryBook/controllers/XParaphController.php b/src/app/external/externalSignatoryBook/controllers/XParaphController.php index f960ab82c87..4cc733dd12c 100755 --- a/src/app/external/externalSignatoryBook/controllers/XParaphController.php +++ b/src/app/external/externalSignatoryBook/controllers/XParaphController.php @@ -162,20 +162,27 @@ class XParaphController } else { $details = $curlResponse['response']->children('SOAP-ENV', true)->Body->children('ns1', true)->XPRF_Initialisation_DeposerResponse->children()->return->children()->Retour_XML; $xmlData = simplexml_load_string($details); - - $visa = []; - $sign = []; - + + $userWorkflow = []; foreach ($xmlData->SCENARIO->AUTORISATIONS->VISEURS->VISEUR as $value) { - $visa[(string)$value->ACTEUR_LOGIN] = (string)$value->ACTEUR_NOM; + $userWorkflow[(string)$value->ACTEUR_LOGIN]["userId"] = (string)$value->ACTEUR_LOGIN; + $userWorkflow[(string)$value->ACTEUR_LOGIN]["displayName"] = (string)$value->ACTEUR_NOM; + $userWorkflow[(string)$value->ACTEUR_LOGIN]["roles"][] = "visa"; } foreach ($xmlData->SCENARIO->AUTORISATIONS->SIGNATAIRES->SIGNATAIRE as $value) { - $sign[(string)$value->ACTEUR_LOGIN] = (string)$value->ACTEUR_NOM; + $userWorkflow[(string)$value->ACTEUR_LOGIN]["userId"] = (string)$value->ACTEUR_LOGIN; + $userWorkflow[(string)$value->ACTEUR_LOGIN]["displayName"] = (string)$value->ACTEUR_NOM; + $userWorkflow[(string)$value->ACTEUR_LOGIN]["roles"][] = "sign"; + } + $workflow = []; + foreach ($userWorkflow as $value) { + $workflow[] = $value; } - return $response->withJson(['visa' => $visa, 'sign' => $sign]); + return $response->withJson(['workflow' => $workflow]); } } + public static function retrieveSignedMails($aArgs) { $validatedSignature = $aArgs['config']['data']['validatedStateSignature']; @@ -187,10 +194,28 @@ class XParaphController foreach ($aArgs['idsToRetrieve'][$version] as $resId => $value) { $depotids[$value->external_id] = $resId; } + // TODO RM TEST + $depotids = ["20190416_145636_1" => 1993]; + if (!empty($depotids)) { - $avancement = XParaphController::getAvancement(['config' => $aArgs['config'], 'depotsIds' => $depotids]); + $avancements = XParaphController::getAvancement(['config' => $aArgs['config'], 'depotsIds' => $depotids]); + } else { + unset($aArgs['idsToRetrieve'][$version]); + continue; } + foreach ($aArgs['idsToRetrieve'][$version] as $resId => $value) { + $avancement = $avancements[$value->external_id]; + if ($refused) { + $aArgs['idsToRetrieve'][$version][$resId]->status = 'refused'; + $aArgs['idsToRetrieve'][$version][$resId]->noteContent = $note; + } elseif ($validatedSignature) { + $processedFile = XParaphController::getFile(['config' => $aArgs['config'], 'depotId' => $value->external_id]); + } + } + + + // $etatDossier = IxbusController::getEtatDossier(['config' => $aArgs['config'], 'sessionId' => $sessionId['cookie'], 'dossier_id' => $value->external_id]); // // Refused @@ -220,7 +245,7 @@ class XParaphController public static function getAvancement($aArgs) { $depotIds = ''; - $aArgs['depotsIds'] = ["20190416_145636_1" => 1993]; + foreach ($aArgs['depotsIds'] as $key => $step) { $depotIds .= '<listDepotIds>'.$key.'</listDepotIds>'; } @@ -266,10 +291,10 @@ class XParaphController <soapenv:Body> <urn:XPRF_getFiles soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <params xsi:type="urn:XPRF_getFiles_Param"> - <siret xsi:type="xsd:string">?</siret> - <login xsi:type="xsd:string">?</login> - <password xsi:type="xsd:string">?</password> - <depotid xsi:type="xsd:string">1</depotid> + <siret xsi:type="xsd:string">'.$aArgs['config']['data']['siret'].'</siret> + <login xsi:type="xsd:string">'.$aArgs['config']['data']['login'].'</login> + <password xsi:type="xsd:string">'.$aArgs['config']['data']['password'].'</password> + <depotid xsi:type="xsd:string">'.$aArgs['depotId'].'</depotid> </params> </urn:XPRF_getFiles> </soapenv:Body> -- GitLab