From b6a6e79fbd389d309b8522e165eae5ef560ff10d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9=20Noack?= <noack@data-quest.de>
Date: Fri, 29 Jul 2022 06:59:37 +0000
Subject: [PATCH] =?UTF-8?q?Resolve=20=20#1398=20"Performance=20der=20Grupp?=
 =?UTF-8?q?enpl=C3=A4ne=20sehr=20schlecht"?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Closes #1398

Merge request studip/studip!850
---
 lib/models/resources/ResourceRequest.class.php | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/lib/models/resources/ResourceRequest.class.php b/lib/models/resources/ResourceRequest.class.php
index 1a1dbaaa194..bf882533eaf 100644
--- a/lib/models/resources/ResourceRequest.class.php
+++ b/lib/models/resources/ResourceRequest.class.php
@@ -276,7 +276,7 @@ class ResourceRequest extends SimpleORMap implements PrivacyObject, Studip\Calen
         //This is done in the rest of the SQL query:
 
         // FIXME this subselect looks unnecessarily complex
-        $whole_sql = 'resource_requests.id IN (
+        $whole_sql = '
                 SELECT id FROM resource_requests
                 WHERE
                 resource_id = :resource_id
@@ -338,9 +338,11 @@ class ResourceRequest extends SimpleORMap implements PrivacyObject, Studip\Calen
             . $closed_status_sql
             . '
             GROUP BY id
-        ) '
+         '
             . $excluded_request_ids_sql;
-
+        $request_ids = DBManager::get()->fetchFirst($whole_sql, $sql_params);
+        $whole_sql = "resource_requests.id IN(:request_ids)";
+        $sql_params = ['request_ids' => $request_ids];
         if ($additional_conditions) {
             $whole_sql .= ' AND ' . $additional_conditions;
             if ($additional_parameters) {
-- 
GitLab