aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElmar Ludwig <elmar.ludwig@uni-osnabrueck.de>2023-11-28 19:21:20 +0000
committerElmar Ludwig <elmar.ludwig@uni-osnabrueck.de>2023-11-28 23:12:18 +0100
commit02f3cd27ebfc2409e3719065cf795aeed0acb947 (patch)
tree4790a1304cc1d080e7874b81803c07b3400ed055
parent156985c6dcc7da6c79a84d08112f4bbf4fe2cd65 (diff)
check the dates in resource_request_appointments instead of all course dates, fixes #3509
Closes #3509 Merge request studip/studip!2399
-rw-r--r--app/controllers/resources/room_request.php6
1 files changed, 5 insertions, 1 deletions
diff --git a/app/controllers/resources/room_request.php b/app/controllers/resources/room_request.php
index a2c43cd..e47ee5a 100644
--- a/app/controllers/resources/room_request.php
+++ b/app/controllers/resources/room_request.php
@@ -302,7 +302,11 @@ class Resources_RoomRequestController extends AuthenticatedController
OR
(resource_requests.metadate_id <> '' AND EXISTS (SELECT * FROM termine WHERE termine.metadate_id=resource_requests.metadate_id AND termine.date BETWEEN :begin AND :semester_end))
OR
- (resource_requests.termin_id = '' AND resource_requests.metadate_id = '' AND EXISTS (SELECT * FROM termine WHERE termine.range_id=resource_requests.course_id AND termine.date BETWEEN :begin AND :semester_end))
+ (resource_requests.termin_id = '' AND resource_requests.metadate_id = '' AND (
+ EXISTS (SELECT * FROM termine JOIN resource_request_appointments ON termine.termin_id = appointment_id WHERE request_id = resource_requests.id AND termine.date BETWEEN :begin AND :semester_end)
+ OR
+ NOT EXISTS (SELECT * FROM resource_request_appointments WHERE request_id = resource_requests.id) AND EXISTS (SELECT * FROM termine WHERE termine.range_id=resource_requests.course_id AND termine.date BETWEEN :begin AND :semester_end)
+ ))
";
if (!$this->filter['request_periods']) {