From 00dfd719b08424ef7238f4df753ad62f1e917c6d Mon Sep 17 00:00:00 2001 From: "florian.azizian" <florian.azizian@maarch.org> Date: Tue, 2 Jul 2019 17:30:00 +0100 Subject: [PATCH] FIX #10771 TIME 0:30 check broken link in action send to Maarch Parapheur --- .../controllers/ListTemplateController.php | 29 +++++++++++++++++-- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/src/app/entity/controllers/ListTemplateController.php b/src/app/entity/controllers/ListTemplateController.php index 7d4da5d2eb7..45daeb02a86 100755 --- a/src/app/entity/controllers/ListTemplateController.php +++ b/src/app/entity/controllers/ListTemplateController.php @@ -14,16 +14,17 @@ namespace Entity\controllers; -use Group\models\ServiceModel; -use SrcCore\models\CoreConfigModel; -use SrcCore\models\ValidatorModel; use Entity\models\EntityModel; use Entity\models\ListTemplateModel; +use Group\models\ServiceModel; use History\controllers\HistoryController; use Respect\Validation\Validator; use Slim\Http\Request; use Slim\Http\Response; +use SrcCore\models\CoreConfigModel; +use SrcCore\models\CurlModel; use SrcCore\models\DatabaseModel; +use SrcCore\models\ValidatorModel; use User\models\UserModel; class ListTemplateController @@ -277,6 +278,28 @@ class ListTemplateController $userInfos = UserModel::getByLowerLogin(['login' => $value['item_id'], 'select' => ['external_id']]); $listTemplates[$key]['externalId'] = json_decode($userInfos['external_id'], true); + if (!empty($listTemplates[$key]['externalId']['maarchParapheur'])) { + $loadedXml = CoreConfigModel::getXmlLoaded(['path' => 'modules/visa/xml/remoteSignatoryBooks.xml']); + if ($loadedXml->signatoryBookEnabled == 'maarchParapheur') { + foreach ($loadedXml->signatoryBook as $value) { + if ($value->id == "maarchParapheur") { + $url = $value->url; + $userId = $value->userId; + $password = $value->password; + break; + } + } + $curlResponse = CurlModel::execSimple([ + 'url' => rtrim($url, '/') . '/rest/users/'.$listTemplates[$key]['externalId']['maarchParapheur'], + 'basicAuth' => ['user' => $userId, 'password' => $password], + 'headers' => ['content-type:application/json'], + 'method' => 'GET' + ]); + if (empty($curlResponse['response']['user'])) { + unset($listTemplates[$key]['externalId']['maarchParapheur']); + } + } + } } } -- GitLab