From 1d1f846c20af881321e3e4d5a6390879dd5d9c4c Mon Sep 17 00:00:00 2001 From: Elmar Ludwig <elmar.ludwig@uni-osnabrueck.de> Date: Tue, 28 Nov 2023 19:21:20 +0000 Subject: [PATCH] check the dates in resource_request_appointments instead of all course dates, fixes #3509 Closes #3509 Merge request studip/studip!2399 --- app/controllers/resources/room_request.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/controllers/resources/room_request.php b/app/controllers/resources/room_request.php index c6aed3a4241..0ef07d2d7ce 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 (empty($this->filter['request_periods'])) { -- GitLab