From b98609eed2df40ebddd39c8a3b9932ca2ec490b4 Mon Sep 17 00:00:00 2001
From: David Siegfried <david.siegfried@uni-vechta.de>
Date: Fri, 12 Aug 2022 23:00:40 +0000
Subject: [PATCH] fix sorting, refs #358

Merge request studip/studip!882
---
 app/controllers/resources/room.php | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/app/controllers/resources/room.php b/app/controllers/resources/room.php
index 8eaa5527c27..61fb9ef4af5 100644
--- a/app/controllers/resources/room.php
+++ b/app/controllers/resources/room.php
@@ -233,12 +233,13 @@ class Resources_RoomController extends AuthenticatedController
 
             //We must convert the buildings to a hierarchy since rooms can be
             //placed multiple layers below a building:
-            $this->building_hierarchies = [];
+            $building_hierarchies = [];
             foreach ($buildings as $building) {
                 //Build the complete hierarchy from the root resource to
                 //the building:
-                $this->building_hierarchies[$building->id] = '/' . implode('/', ResourceManager::getHierarchyNames($building));
+                $building_hierarchies[$building->parent->id][$building->id] = '/' . implode('/', ResourceManager::getHierarchyNames($building));
             }
+            $this->building_hierarchies = array_reduce($building_hierarchies, 'array_merge', []);
 
             //In add-mode the category must be set before calling this method.
             if ($mode == 'edit') {
-- 
GitLab