From 09f4fd4bcdfadb96d44e99285a773c6bab1fe9ee Mon Sep 17 00:00:00 2001 From: "florian.azizian" <florian.azizian@maarch.org> Date: Thu, 11 Jul 2019 10:19:07 +0100 Subject: [PATCH] FIX #11107 TIME 0:45 improve error return --- modules/export_seda/RequestSeda.php | 10 ++++----- modules/export_seda/class/ArchiveTransfer.php | 4 ++-- .../MessageExchangeReviewController.php | 8 +++---- .../ReadMessageExchangeController.php | 17 ++------------ .../ReceiveMessageExchangeController.php | 22 +++++++++++++------ .../SendMessageExchangeController.php | 7 +++++- modules/sendmail/sendmail_ajax_content.php | 6 ++++- .../controllers/DocserverController.php | 2 +- .../MessageExchangeReviewController.php | 4 ++-- .../models/MessageExchangeModelAbstract.php | 6 ++--- 10 files changed, 44 insertions(+), 42 deletions(-) diff --git a/modules/export_seda/RequestSeda.php b/modules/export_seda/RequestSeda.php index e265bcadd34..aa5ade43aee 100755 --- a/modules/export_seda/RequestSeda.php +++ b/modules/export_seda/RequestSeda.php @@ -527,7 +527,7 @@ class RequestSeda ]); if (!empty($storeResult['errors'])) { - var_dump($storeResult['errors']); + return ['error' => $storeResult['errors']]; } $docserver_id = $storeResult['docserver_id']; $filepath = $storeResult['destination_dir']; @@ -595,18 +595,16 @@ class RequestSeda $queryParams[] = $fingerprint; $queryParams[] = $filesize; - $res = $this->db->query($query, $queryParams); + $this->db->query($query, $queryParams); } catch (Exception $e) { - return false; + return ['error' => $e]; } - return $messageObject->messageId; + return ['messageId' => $messageObject->messageId]; } public function insertAttachment($data, $type) { - $docserverControler = new docservers_controler(); - $fileInfos = array( "tmpDir" => $data->tmpDir, "size" => $data->size, diff --git a/modules/export_seda/class/ArchiveTransfer.php b/modules/export_seda/class/ArchiveTransfer.php index 93af7c9919e..38ace00df04 100755 --- a/modules/export_seda/class/ArchiveTransfer.php +++ b/modules/export_seda/class/ArchiveTransfer.php @@ -256,10 +256,10 @@ class ArchiveTransfer $messageObject->DataObjectPackage->DescriptiveMetadata->ArchiveUnit[0]->Content->StartDate = $startDate->format('Y-m-d'); $messageObject->DataObjectPackage->DescriptiveMetadata->ArchiveUnit[0]->Content->EndDate = $endDate->format('Y-m-d'); - $messageId = $this->saveMessage($messageObject); + $messageSaved = $this->saveMessage($messageObject); foreach ($listResId as $resId) { - $this->db->insertUnitIdentifier($messageId, "res_letterbox", $resId); + $this->db->insertUnitIdentifier($messageSaved['messageId'], "res_letterbox", $resId); } return $result; diff --git a/modules/sendmail/Controllers/MessageExchangeReviewController.php b/modules/sendmail/Controllers/MessageExchangeReviewController.php index 5345329e059..98aef93fb1d 100755 --- a/modules/sendmail/Controllers/MessageExchangeReviewController.php +++ b/modules/sendmail/Controllers/MessageExchangeReviewController.php @@ -92,7 +92,7 @@ class MessageExchangeReviewController $reviewObject->MessageIdentifier->value = $messageExchangeData['reference_number'].'_NotificationSent'; $reviewObject->TransferringAgency = $reviewObject->OriginatingAgency; - $messageId = \SendMessageExchangeController::saveMessageExchange(['dataObject' => $reviewObject, 'res_id_master' => $aArgs['res_id_master'], 'type' => 'ArchiveModificationNotification', 'file_path' => $filePath]); + $messageExchangeSaved = \SendMessageExchangeController::saveMessageExchange(['dataObject' => $reviewObject, 'res_id_master' => $aArgs['res_id_master'], 'type' => 'ArchiveModificationNotification', 'file_path' => $filePath]); $reviewObject->MessageIdentifier->value = $messageExchangeData['reference_number'].'_Notification'; @@ -106,7 +106,7 @@ class MessageExchangeReviewController $reviewObject->TransferringAgency->OrganizationDescriptiveMetadata = new \stdClass(); $reviewObject->TransferringAgency->OrganizationDescriptiveMetadata->UserIdentifier = $_SESSION['user']['UserId']; - $sendMessage->send($reviewObject, $messageId, 'ArchiveModificationNotification'); + $sendMessage->send($reviewObject, $messageExchangeSaved['messageId'], 'ArchiveModificationNotification'); } } @@ -143,10 +143,10 @@ class MessageExchangeReviewController $RequestSeda->updateOperationDateMessage(['operation_date' => $dataObject->Date, 'message_id' => $messageExchange->message_id]); } - $messageId = \SendMessageExchangeController::saveMessageExchange(['dataObject' => $dataObject, 'res_id_master' => $messageExchange->res_id_master, 'type' => 'ArchiveModificationNotification']); + $messageExchangeSaved = \SendMessageExchangeController::saveMessageExchange(['dataObject' => $dataObject, 'res_id_master' => $messageExchange->res_id_master, 'type' => 'ArchiveModificationNotification']); return $response->withJson([ - 'messageId' => $messageId, + 'messageId' => $messageExchangeSaved['messageId'], ]); } } diff --git a/modules/sendmail/Controllers/ReadMessageExchangeController.php b/modules/sendmail/Controllers/ReadMessageExchangeController.php index 9b1c3f70bb0..50e51df0215 100755 --- a/modules/sendmail/Controllers/ReadMessageExchangeController.php +++ b/modules/sendmail/Controllers/ReadMessageExchangeController.php @@ -20,10 +20,8 @@ class ReadMessageExchangeController { public static function getMessageExchange($aArgs = []) { - $errors = self::control($aArgs); - - if (!empty($errors)) { - return ['errors' => $errors]; + if (empty($aArgs['id'])) { + return ['errors' => 'id is empty']; } $aDataForm = []; @@ -98,15 +96,4 @@ class ReadMessageExchangeController return $aDataForm; } - - protected function control($aArgs = []) - { - $errors = []; - - if (empty($aArgs['id'])) { - array_push($errors, 'wrong format for id'); - } - - return $errors; - } } diff --git a/modules/sendmail/Controllers/ReceiveMessageExchangeController.php b/modules/sendmail/Controllers/ReceiveMessageExchangeController.php index ef681413ab3..353ed16038f 100755 --- a/modules/sendmail/Controllers/ReceiveMessageExchangeController.php +++ b/modules/sendmail/Controllers/ReceiveMessageExchangeController.php @@ -69,7 +69,10 @@ class ReceiveMessageExchangeController $sDataObject = $res['content']; $sDataObject = json_decode($sDataObject); - self::sendAcknowledgement(["dataObject" => $sDataObject]); + $acknowledgementReturn = self::sendAcknowledgement(["dataObject" => $sDataObject]); + if (!empty($acknowledgementReturn['error'])) { + return $response->withStatus(400)->withJson(["errors" => $acknowledgementReturn['error']]); + } $aDefaultConfig = self::readXmlConfig(); @@ -459,7 +462,7 @@ class ReceiveMessageExchangeController $acknowledgementObject->TransferringAgency->OrganizationDescriptiveMetadata->UserIdentifier = $GLOBALS['userId']; $acknowledgementObject->MessageIdentifier->value = $dataObject->MessageIdentifier->value . '_AckSent'; - $messageId = \SendMessageExchangeController::saveMessageExchange(['dataObject' => $acknowledgementObject, 'res_id_master' => 0, 'type' => 'Acknowledgement', 'file_path' => $filePath]); + $messageExchangeSaved = \SendMessageExchangeController::saveMessageExchange(['dataObject' => $acknowledgementObject, 'res_id_master' => 0, 'type' => 'Acknowledgement', 'file_path' => $filePath]); $acknowledgementObject->DataObjectPackage = new \stdClass(); $acknowledgementObject->DataObjectPackage->DescriptiveMetadata = new \stdClass(); @@ -468,7 +471,9 @@ class ReceiveMessageExchangeController $acknowledgementObject->DataObjectPackage->DescriptiveMetadata->ArchiveUnit[0]->Content = new \stdClass(); $acknowledgementObject->DataObjectPackage->DescriptiveMetadata->ArchiveUnit[0]->Content->Title[0] = '[CAPTUREM2M_ACK]'.date("Ymd_his"); - $sendMessage->send($acknowledgementObject, $messageId, 'Acknowledgement'); + $sendMessage->send($acknowledgementObject, $messageExchangeSaved['messageId'], 'Acknowledgement'); + + return $messageExchangeSaved; } protected function sendReply($aArgs = []) @@ -499,7 +504,7 @@ class ReceiveMessageExchangeController $filePath = $sendMessage->generateMessageFile($replyObject, "ArchiveTransferReply", $tmpPath); $replyObject->MessageIdentifier->value = $dataObject->MessageIdentifier->value . '_ReplySent'; - $messageId = \SendMessageExchangeController::saveMessageExchange(['dataObject' => $replyObject, 'res_id_master' => $aArgs['res_id_master'], 'type' => 'ArchiveTransferReply', 'file_path' => $filePath]); + $messageExchangeSaved = \SendMessageExchangeController::saveMessageExchange(['dataObject' => $replyObject, 'res_id_master' => $aArgs['res_id_master'], 'type' => 'ArchiveTransferReply', 'file_path' => $filePath]); $replyObject->MessageIdentifier->value = $dataObject->MessageIdentifier->value . '_Reply'; @@ -512,7 +517,7 @@ class ReceiveMessageExchangeController $replyObject->DataObjectPackage->DescriptiveMetadata->ArchiveUnit[0]->Content->Title[0] = '[CAPTUREM2M_REPLY]'.date("Ymd_his"); - $sendMessage->send($replyObject, $messageId, 'ArchiveTransferReply'); + $sendMessage->send($replyObject, $messageExchangeSaved['messageId'], 'ArchiveTransferReply'); } public function saveMessageExchangeReturn(Request $request, Response $response) @@ -547,10 +552,13 @@ class ReceiveMessageExchangeController $messageExchange = $RequestSeda->getMessageByReference($dataObject->MessageRequestIdentifier->value); } - $messageId = \SendMessageExchangeController::saveMessageExchange(['dataObject' => $dataObject, 'res_id_master' => $messageExchange->res_id_master, 'type' => $data['type']]); + $messageExchangeSaved = \SendMessageExchangeController::saveMessageExchange(['dataObject' => $dataObject, 'res_id_master' => $messageExchange->res_id_master, 'type' => $data['type']]); + if (!empty($messageExchangeSaved['error'])) { + return $response->withStatus(400)->withJson(['errors' => $messageExchangeSaved['error']]); + } return $response->withJson([ - "messageId" => $messageId + "messageId" => $messageExchangeSaved['messageId'] ]); } diff --git a/modules/sendmail/Controllers/SendMessageExchangeController.php b/modules/sendmail/Controllers/SendMessageExchangeController.php index 9f05febcf3c..41b7341c5c8 100755 --- a/modules/sendmail/Controllers/SendMessageExchangeController.php +++ b/modules/sendmail/Controllers/SendMessageExchangeController.php @@ -151,7 +151,12 @@ class SendMessageExchangeController $filePath = $sendMessage->generateMessageFile($dataObject, "ArchiveTransfer", $_SESSION['config']['tmppath']); /******** SAVE MESSAGE *********/ - $messageId = self::saveMessageExchange(['dataObject' => $dataObject, 'res_id_master' => $aArgs['identifier'], 'file_path' => $filePath, 'type' => 'ArchiveTransfer']); + $messageExchangeReturn = self::saveMessageExchange(['dataObject' => $dataObject, 'res_id_master' => $aArgs['identifier'], 'file_path' => $filePath, 'type' => 'ArchiveTransfer']); + if (!empty($messageExchangeReturn['error'])) { + return ['errors' => $messageExchangeReturn['error']]; + } else { + $messageId = $messageExchangeReturn['messageId']; + } self::saveUnitIdentifier(['attachment' => $aMergeAttachment, 'notes' => $aArgs['notes'], 'messageId' => $messageId]); \History\controllers\HistoryController::add([ diff --git a/modules/sendmail/sendmail_ajax_content.php b/modules/sendmail/sendmail_ajax_content.php index d98163b8c7a..bb9d677ba72 100755 --- a/modules/sendmail/sendmail_ajax_content.php +++ b/modules/sendmail/sendmail_ajax_content.php @@ -190,7 +190,11 @@ switch ($mode) { if ($formContent == 'messageExchange') { $return = SendMessageExchangeController::createMessageExchange($_REQUEST); if (!empty($return['errors'])) { - $error = implode(", ", $return['errors']); + if (is_array($return['errors'])) { + $error = implode(", ", $return['errors']); + } else { + $error = $return['errors']; + } $status = 1; } //Reload and show message diff --git a/src/app/docserver/controllers/DocserverController.php b/src/app/docserver/controllers/DocserverController.php index 894e4c75394..778d7e288d7 100755 --- a/src/app/docserver/controllers/DocserverController.php +++ b/src/app/docserver/controllers/DocserverController.php @@ -205,7 +205,7 @@ class DocserverController $docserver = DocserverModel::getCurrentDocserver(['collId' => $aArgs['collId'], 'typeId' => $aArgs['docserverTypeId']]); if (empty($docserver)) { - return ['errors' => '[storeRessourceOnDocserver] No available Docserver']; + return ['errors' => '[storeRessourceOnDocserver] No available Docserver with type ' . $aArgs['docserverTypeId']]; } $pathOnDocserver = DocserverController::createPathOnDocServer(['path' => $docserver['path_template']]); diff --git a/src/app/external/messageExchange/controllers/MessageExchangeReviewController.php b/src/app/external/messageExchange/controllers/MessageExchangeReviewController.php index 6a6ecfd7097..0ba6bea477b 100755 --- a/src/app/external/messageExchange/controllers/MessageExchangeReviewController.php +++ b/src/app/external/messageExchange/controllers/MessageExchangeReviewController.php @@ -81,7 +81,7 @@ class MessageExchangeReviewController $reviewObject->MessageIdentifier->value = $messageExchangeData['reference_number'].'_NotificationSent'; $reviewObject->TransferringAgency = $reviewObject->OriginatingAgency; - $messageId = SendMessageExchangeController::saveMessageExchange(['dataObject' => $reviewObject, 'res_id_master' => $aArgs['res_id_master'], 'type' => 'ArchiveModificationNotification', 'file_path' => $filePath, 'userId' => $aArgs['userId']]); + $messageExchangeSaved = SendMessageExchangeController::saveMessageExchange(['dataObject' => $reviewObject, 'res_id_master' => $aArgs['res_id_master'], 'type' => 'ArchiveModificationNotification', 'file_path' => $filePath, 'userId' => $aArgs['userId']]); $reviewObject->MessageIdentifier->value = $messageExchangeData['reference_number'].'_Notification'; @@ -96,7 +96,7 @@ class MessageExchangeReviewController $reviewObject->TransferringAgency->OrganizationDescriptiveMetadata = new \stdClass(); $reviewObject->TransferringAgency->OrganizationDescriptiveMetadata->UserIdentifier = $aArgs['userId']; - SendMessageController::send($reviewObject, $messageId, 'ArchiveModificationNotification'); + SendMessageController::send($reviewObject, $messageExchangeSaved['messageId'], 'ArchiveModificationNotification'); } } } diff --git a/src/app/external/messageExchange/models/MessageExchangeModelAbstract.php b/src/app/external/messageExchange/models/MessageExchangeModelAbstract.php index 577190e2ed4..fcb7103ff56 100755 --- a/src/app/external/messageExchange/models/MessageExchangeModelAbstract.php +++ b/src/app/external/messageExchange/models/MessageExchangeModelAbstract.php @@ -142,7 +142,7 @@ abstract class MessageExchangeModelAbstract ]); if (!empty($storeResult['errors'])) { - var_dump($storeResult['errors']); + return ['error' => $storeResult['errors']]; } $docserverId = $storeResult['docserver_id']; $filepath = $storeResult['destination_dir']; @@ -189,9 +189,9 @@ abstract class MessageExchangeModelAbstract ] ]); } catch (Exception $e) { - return false; + return ['error' => $e]; } - return $messageObject->messageId; + return ['messageId' => $messageObject->messageId]; } } -- GitLab