diff options
| author | André Noack <noack@data-quest.de> | 2024-02-12 14:32:19 +0000 |
|---|---|---|
| committer | André Noack <noack@data-quest.de> | 2024-02-12 14:32:19 +0000 |
| commit | e36aea0881f808a9b4572034761135b3bdcb4d0e (patch) | |
| tree | 6c257524440ca7f52343f0c7ab9ba99ec032a126 | |
| parent | 82a53e16910450d37233afa15cd114bc759830ec (diff) | |
Resolve #3736 "Direkte Buchung: ausfallende Termine bei Wiederholungsbuchung können doppelt gebucht werden"
Closes #3736
Merge request studip/studip!2601
| -rw-r--r-- | app/routes/Resources.php | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/app/routes/Resources.php b/app/routes/Resources.php index 53a9c08..7117546 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'; |
