From beebaecdacb45e096e57b8a45db83ffc9f8f4c29 Mon Sep 17 00:00:00 2001 From: Jeroen Dalsem Date: Tue, 28 May 2019 09:16:53 +0200 Subject: [PATCH] feat(upgrades): completed upgrades are sorted by completion time fixes #12398 --- engine/classes/Elgg/UpgradeService.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/engine/classes/Elgg/UpgradeService.php b/engine/classes/Elgg/UpgradeService.php index ab25a23f75f..6582ae3a2b3 100644 --- a/engine/classes/Elgg/UpgradeService.php +++ b/engine/classes/Elgg/UpgradeService.php @@ -14,6 +14,7 @@ use React\Promise\Promise; use RuntimeException; use Throwable; +use Elgg\Database\Clauses\EntitySortByClause; /** * Upgrade service for Elgg @@ -489,7 +490,7 @@ public function getPendingUpgrades($async = true) { } /** - * Get completed (async) upgrades + * Get completed (async) upgrades ordered by recently completed first * * @param bool $async Include async upgrades * @@ -498,6 +499,11 @@ public function getPendingUpgrades($async = true) { public function getCompletedUpgrades($async = true) { $completed = []; + $order_by_completed_time = new EntitySortByClause(); + $order_by_completed_time->direction = 'DESC'; + $order_by_completed_time->property = 'completed_time'; + $order_by_completed_time->property_type = 'private_setting'; + $upgrades = elgg_get_entities([ 'type' => 'object', 'subtype' => 'elgg_upgrade', @@ -506,6 +512,7 @@ public function getCompletedUpgrades($async = true) { 'name' => 'is_completed', 'value' => true, ], + 'order_by' => $order_by_completed_time, 'limit' => false, 'batch' => true, ]);