From 020d003caa5abf792d29487faa007c1a93f7b79b Mon Sep 17 00:00:00 2001 From: "florian.azizian" <florian.azizian@maarch.org> Date: Thu, 27 Feb 2020 12:03:33 +0100 Subject: [PATCH] FIX #12091 TIME 0:40 return externalSummary sent order by date --- package.json | 2 +- .../summary/controllers/SummaryController.php | 29 +++++++++++++++---- 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 366a6da06ea..bd252c3232b 100755 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "jquery.nicescroll": "~3.6.8", "jstree-bootstrap-theme": "^1.0.1", "ng2-pdf-viewer": "^5.3.4", - "ngx-cookie-service": "^2.1.0", + "ngx-cookie-service": "^2.4.0", "ngx-pipes": "^2.7.3", "pdfjs-dist": "2.2.228", "photoswipe": "^4.1.3", diff --git a/src/app/external/summary/controllers/SummaryController.php b/src/app/external/summary/controllers/SummaryController.php index ecb846a81d9..9e6027704a9 100755 --- a/src/app/external/summary/controllers/SummaryController.php +++ b/src/app/external/summary/controllers/SummaryController.php @@ -14,7 +14,6 @@ namespace ExternalSummary\controllers; - use AcknowledgementReceipt\models\AcknowledgementReceiptModel; use Email\models\EmailModel; use MessageExchange\models\MessageExchangeModel; @@ -26,7 +25,6 @@ use User\models\UserModel; class SummaryController { - public static function getByResId(Request $request, Response $response, array $args) { if (!Validator::intVal()->validate($args['resId']) || !ResController::hasRightByResId(['resId' => [$args['resId']], 'userId' => $GLOBALS['id']])) { @@ -38,14 +36,28 @@ class SummaryController return $response->withStatus(403)->withJson(['errors' => 'Query limit is not an int val']); } - $emails = EmailModel::get(['select' => ['object', 'send_date', 'user_id', 'status'], 'where' => ['document->>\'id\' = ?', 'status in (?)'], 'data' => [$args['resId'], ['SENT', 'ERROR']], 'limit' => (int)$queryParams['limit']]); + $emails = EmailModel::get([ + 'select' => ['object', 'send_date', 'user_id', 'status'], + 'where' => ['document->>\'id\' = ?', 'status in (?)'], + 'data' => [$args['resId'], ['SENT', 'ERROR']], + 'orderBy' => ['send_date desc'], + 'limit' => (int)$queryParams['limit'] + ]); + foreach ($emails as $key => $value) { $userInfo = UserModel::getById(['select' => ['firstname', 'lastname'], 'id' => $value['user_id']]); $emails[$key]['userInfo'] = $userInfo['firstname'] . ' ' . $userInfo['lastname']; $emails[$key]['type'] = 'email'; unset($emails[$key]['user_id']); } - $acknowledgementReceipts = AcknowledgementReceiptModel::get(['select' => ['send_date', 'user_id'], 'where' => ['res_id = ?', 'format = ?', 'send_date is not null'], 'data' => [$args['resId'], 'pdf'], 'limit' => (int)$queryParams['limit']]); + + $acknowledgementReceipts = AcknowledgementReceiptModel::get([ + 'select' => ['send_date', 'user_id'], + 'where' => ['res_id = ?', 'format = ?', 'send_date is not null'], + 'data' => [$args['resId'], 'pdf'], + 'orderBy' => ['send_date desc'], + 'limit' => (int)$queryParams['limit'] + ]); foreach ($acknowledgementReceipts as $key => $value) { $userInfo = UserModel::getById(['select' => ['firstname', 'lastname'], 'id' => $value['user_id']]); $acknowledgementReceipts[$key]['userInfo'] = $userInfo['firstname'] . ' ' . $userInfo['lastname']; @@ -54,7 +66,14 @@ class SummaryController $acknowledgementReceipts[$key]['status'] = 'SENT'; unset($acknowledgementReceipts[$key]['user_id']); } - $maarch2ged = MessageExchangeModel::get(['select' => ['type', 'date as send_date', 'account_id'], 'where' => ['res_id_master = ?', 'status = ?'], 'data' => [$args['resId'], 'S'], 'limit' => (int)$queryParams['limit']]); + + $maarch2ged = MessageExchangeModel::get([ + 'select' => ['type', 'date as send_date', 'account_id'], + 'where' => ['res_id_master = ?', 'status = ?'], + 'data' => [$args['resId'], 'S'], + 'orderBy' => ['date desc'], + 'limit' => (int)$queryParams['limit'] + ]); foreach ($maarch2ged as $key => $value) { if (!empty($value['account_id'])) { $userInfo = UserModel::getByLogin(['select' => ['firstname', 'lastname'], 'login' => $value['account_id']]); -- GitLab