From e48e94c61c8e9cb01795dfca8d2402f59387dab5 Mon Sep 17 00:00:00 2001 From: "florian.azizian" <florian.azizian@maarch.org> Date: Tue, 13 Oct 2020 16:58:54 +0200 Subject: [PATCH] FEAT #15047 TIME 1:10 Improve msg error in export seda action --- .../exportSeda/controllers/SedaController.php | 32 ++++++++++++------- src/lang/lang-fr.json | 7 +++- 2 files changed, 26 insertions(+), 13 deletions(-) diff --git a/src/app/external/exportSeda/controllers/SedaController.php b/src/app/external/exportSeda/controllers/SedaController.php index 9a75e925e86..db454c3382a 100755 --- a/src/app/external/exportSeda/controllers/SedaController.php +++ b/src/app/external/exportSeda/controllers/SedaController.php @@ -71,7 +71,7 @@ class SedaController $sedaXml = CoreConfigModel::getXmlLoaded(['path' => 'modules/export_seda/xml/config.xml']); if (empty($sedaXml->CONFIG->senderOrgRegNumber)) { - return $response->withStatus(400)->withJson(['errors' => 'No senderOrgRegNumber found in config.xml (export_seda)']); + return $response->withStatus(400)->withJson(['errors' => 'No senderOrgRegNumber found in config.xml (export_seda)', 'lang' => 'noSenderOrgRegNumber']); } $date = new \DateTime(); @@ -182,17 +182,17 @@ class SedaController ]; } - $archivalAgreements = SedaController::getArchivalAgreements([ + $archivalAgreements = SedaController::getArchivalAgreements([ 'configXml' => $sedaXml, 'senderArchiveEntity' => (string)$sedaXml->CONFIG->senderOrgRegNumber, 'producerService' => $entity['producer_service'] ]); - if (!empty($archivalAgreements['error'])) { - return $response->withStatus(400)->withJson(['errors' => 'ArchivalAgreements error : ' . $archivalAgreements['error']]); + if (!empty($archivalAgreements['errors'])) { + return $response->withStatus(400)->withJson($archivalAgreements); } $recipientArchiveEntities = SedaController::getRecipientArchiveEntities(['configXml' => $sedaXml, 'archivalAgreements' => $archivalAgreements['archivalAgreements']]); - if (!empty($recipientArchiveEntities['error'])) { - return $response->withStatus(400)->withJson(['errors' => 'ArchivalEntities error : ' . $recipientArchiveEntities['error']]); + if (!empty($recipientArchiveEntities['errors'])) { + return $response->withStatus(400)->withJson($recipientArchiveEntities); } $return['archivalAgreements'] = $archivalAgreements['archivalAgreements']; @@ -217,7 +217,9 @@ class SedaController ]); if (!empty($curlResponse['errors'])) { - return ['error' => 'Error during processing in getRecipientArchiveEntities : ' . $curlResponse['errors']]; + return ['errors' => 'Error returned by the route /organization/organization/Byrole/archiver : ' . $curlResponse['errors']]; + } elseif ($curlResponse['code'] != 200) { + return ['errors' => 'Error returned by the route /organization/organization/Byrole/archiver : ' . $curlResponse['response']['message']]; } $archiveEntitiesAllowed = array_column($args['archivalAgreements'], 'archiveEntityRegNumber'); @@ -267,14 +269,16 @@ class SedaController ]); if (!empty($curlResponse['errors'])) { - return ['error' => 'Error during processing in getArchivalAgreements : ' . $curlResponse['errors']]; + return ['errors' => 'Error returned by the route /medona/archivalAgreement/Index : ' . $curlResponse['errors']]; + } elseif ($curlResponse['code'] != 200) { + return ['errors' => 'Error returned by the route /medona/archivalAgreement/Index : ' . $curlResponse['response']['message']]; } $producerService = SedaController::getProducerServiceInfo(['configXml' => $args['configXml'], 'producerServiceName' => $args['producerService']]); if (!empty($producerService['errors'])) { - return ['error' => 'Error during processing in getArchivalAgreements producer service info : ' . $curlResponse['errors']]; + return ['errors' => $curlResponse['errors']]; } elseif (empty($producerService['producerServiceInfo'])) { - return ['error' => 'ProducerService does not exists in MaarchRM']; + return ['errors' => 'ProducerService does not exists in MaarchRM', 'lang' => 'producerServiceDoesNotExists']; } $archivalAgreements[] = [ @@ -321,7 +325,9 @@ class SedaController ]); if (!empty($curlResponse['errors'])) { - return ['error' => $curlResponse['errors']]; + return ['errors' => 'Error returned by the route /organization/organization/Search : ' . $curlResponse['errors']]; + } elseif ($curlResponse['code'] != 200) { + return ['errors' => 'Error returned by the route /organization/organization/Search : ' . $curlResponse['response']['message']]; } return ['producerServiceInfo' => $curlResponse['response'][0]]; @@ -352,7 +358,9 @@ class SedaController ]); if (!empty($curlResponse['errors'])) { - return $response->withStatus(400)->withJson(['errors' => 'Error during processing in getRetentionRules : ' . $curlResponse['errors']]); + return $response->withStatus(400)->withJson(['errors' => 'Error returned by the route /recordsManagement/retentionRule/Index : ' . $curlResponse['errors']]); + } elseif ($curlResponse['code'] != 200) { + return $response->withStatus(400)->withJson(['errors' => 'Error returned by the route /recordsManagement/retentionRule/Index : ' . $curlResponse['response']['message']]); } $retentionRules[] = [ diff --git a/src/lang/lang-fr.json b/src/lang/lang-fr.json index 94dd83d0fde..3b33450aa57 100644 --- a/src/lang/lang-fr.json +++ b/src/lang/lang-fr.json @@ -2057,7 +2057,7 @@ "manualSearchInfo" : "Vous pouvez laisser le terme dans le champ sans sélectionner de valeur pour la recherche.", "groupSign" : "Groupe du signataire", "noAdminSearchConfiguration": "Aucune configuration de recherche trouvée", - "producerService": "Service producteur", + "producerService": "Identifiant de service producteur", "sendersDepartment": "Département des expéditeurs", "recordManagement": "Archivage électronique", "slipLabel": "Libellé du bordereau", @@ -2078,6 +2078,11 @@ "recordManagement_replyNotReadable": "La réponse de transfert de ce courrier n'est pas correctement structurée", "recordManagement_noReplyReference": "Aucun bordereau correspond à la réponse de transfert", "recordManagement_wrongReply": "La réponse de transfert n'est pas lié au bon courrier", + "noDestination": "Le courrier n'a pas d'entité traitante", + "noRetentionInfo": "Le type de courrier n'a pas de règle de conservation ou de sort final", + "noProducerService": "L'entité traitante n'a pas d'identifiant de service producteur", + "noSenderOrgRegNumber": "Aucun service versant défini (Balise senderOrgRegNumber dans config.xml)", + "producerServiceDoesNotExists": "Le service producteur n'existe pas dans MaarchRM", "nextPage": "Page suivante", "prevPage": "Page précédente", "onlySingleResourceAllowed": "Seule une ressource peut être traité par cette action" -- GitLab