From 1363f7403be3abb0c8d6866135b0efc1ff7719b1 Mon Sep 17 00:00:00 2001 From: Dario Rekowski on RockPI Date: Mon, 17 May 2021 13:28:21 +0000 Subject: [PATCH] fix sorting and use total count --- .../src/Controller/AppRequestsController.php | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/community_server/src/Controller/AppRequestsController.php b/community_server/src/Controller/AppRequestsController.php index 9d8459ddf..12ea77d0b 100644 --- a/community_server/src/Controller/AppRequestsController.php +++ b/community_server/src/Controller/AppRequestsController.php @@ -323,23 +323,33 @@ class AppRequestsController extends AppController $this->addAdminError('StateBalancesController', 'overview', $gdtEntries, $user['id'] ? $user['id'] : 0); } + $stateUserTransactions_total = $stateUserTransactionsTable + ->find() + ->select(['id']) + ->where(['state_user_id' => $user['id']]) + ->contain([]); $stateUserTransactionsQuery = $stateUserTransactionsTable ->find() ->where(['state_user_id' => $user['id']]) - ->order(['balance_date' => 'ASC']) + ->order(['balance_date' => $orderDirection]) ->contain([]) ->limit($count) ->page($page) ; $decay = true; $transactions = []; + $transactions_from_db = $stateUserTransactionsQuery->toArray(); if($stateUserTransactionsQuery->count() > 0) { - $transactions = $transactionsTable->listTransactionsHumanReadable($stateUserTransactionsQuery->toArray(), $user, $decay); - + if($orderDirection == 'DESC') { + $transactions_from_db = array_reverse($transactions_from_db); + } + $transactions = $transactionsTable->listTransactionsHumanReadable($transactions_from_db, $user, $decay); + if($orderDirection == 'DESC') { $transactions = array_reverse($transactions); } + } $state_balance = $stateBalancesTable->find()->where(['state_user_id' => $user['id']])->first(); @@ -348,7 +358,7 @@ class AppRequestsController extends AppController 'state' => 'success', 'transactions' => $transactions, 'transactionExecutingCount' => $session->read('Transactions.executing'), - 'count' => count($transactions), + 'count' => $stateUserTransactions_total->count(), 'gdtSum' => $gdtSum, 'timeUsed' => microtime(true) - $startTime ];