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