From e36aea0881f808a9b4572034761135b3bdcb4d0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Noack?= <noack@data-quest.de> Date: Mon, 12 Feb 2024 14:32:19 +0000 Subject: [PATCH] =?UTF-8?q?Resolve=20#3736=20"Direkte=20Buchung:=20ausfall?= =?UTF-8?q?ende=20Termine=20bei=20Wiederholungsbuchung=20k=C3=B6nnen=20dop?= =?UTF-8?q?pelt=20gebucht=20werden"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #3736 Merge request studip/studip!2601 --- app/routes/Resources.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app/routes/Resources.php b/app/routes/Resources.php index 53a9c084b86..7117546517b 100644 --- a/app/routes/Resources.php +++ b/app/routes/Resources.php @@ -930,6 +930,12 @@ class Resources extends \RESTAPI\RouteMap $this->halt(403, 'You do not have sufficient permissions to modify the interval!'); } + if ( + !$interval->takes_place + && $resource->isAssigned(new \DateTime('@' . $interval->begin), new \DateTime('@' . $interval->end)) + ) { + $this->halt(409, 'Already booked'); + } //Switch the takes_place field: $interval->takes_place = $interval->takes_place ? '0' : '1'; -- GitLab