From b6ea554cc403bfd2dbf69a382c798a1f36596d87 Mon Sep 17 00:00:00 2001
From: Guillaume Heurtier <guillaume.heurtier@maarch.org>
Date: Fri, 8 Nov 2019 18:07:13 +0100
Subject: [PATCH] FIX #11750 TIME 0:20 sort on filter elements

---
 .../controllers/ResourceListController.php    | 23 ++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)

diff --git a/src/app/resource/controllers/ResourceListController.php b/src/app/resource/controllers/ResourceListController.php
index 548e551018e..66612f7a6b7 100644
--- a/src/app/resource/controllers/ResourceListController.php
+++ b/src/app/resource/controllers/ResourceListController.php
@@ -22,7 +22,6 @@ use Basket\models\BasketModel;
 use Basket\models\GroupBasketModel;
 use Basket\models\RedirectBasketModel;
 use Contact\models\ContactModel;
-use Doctype\models\DoctypeModel;
 use Entity\models\EntityModel;
 use Entity\models\ListInstanceModel;
 use Folder\models\FolderModel;
@@ -1221,6 +1220,19 @@ class ResourceListController
             ];
         }
 
+        usort($entities, ['Resource\controllers\ResourceListController', 'compareSortOnLabel']);
+
+        usort($priorities, ['Resource\controllers\ResourceListController', 'compareSortOnLabel']);
+
+        usort($categories, ['Resource\controllers\ResourceListController', 'compareSortOnLabel']);
+
+        usort($statuses, ['Resource\controllers\ResourceListController', 'compareSortOnLabel']);
+
+        usort($entitiesChildren, ['Resource\controllers\ResourceListController', 'compareSortOnLabel']);
+
+        usort($docTypes, ['Resource\controllers\ResourceListController', 'compareSortOnLabel']);
+
+
         return [
             'entities' => $entities,
             'priorities' => $priorities,
@@ -1230,4 +1242,13 @@ class ResourceListController
             'doctypes' => $docTypes
         ];
     }
+
+    private function compareSortOnLabel($a, $b) {
+        if ($a['label'] < $b['label']) {
+            return -1;
+        } elseif ($a['label'] > $b['label']) {
+            return 1;
+        }
+        return 0;
+    }
 }
-- 
GitLab