Skip to content
Snippets Groups Projects
Commit 996b451a authored by Moritz Strohm's avatar Moritz Strohm
Browse files

Fix booking plans, fixes #104

parent eee1bda9
No related branches found
No related tags found
1 merge request!21Fix booking plans
...@@ -218,7 +218,9 @@ trait LernraumObject ...@@ -218,7 +218,9 @@ trait LernraumObject
); );
$included_resource_booking_ids = []; $included_resource_booking_ids = [];
foreach ($study_room_bookings as $booking) { foreach ($study_room_bookings as $booking) {
if ($booking->resource_booking_id) {
$included_resource_booking_ids[] = $booking->resource_booking_id; $included_resource_booking_ids[] = $booking->resource_booking_id;
}
$occupied_ranges[] = [ $occupied_ranges[] = [
'begin' => $booking->begin, 'begin' => $booking->begin,
'end' => $booking->end 'end' => $booking->end
...@@ -232,7 +234,7 @@ trait LernraumObject ...@@ -232,7 +234,7 @@ trait LernraumObject
'eventStartEditable' => false, 'eventStartEditable' => false,
'eventDurationEditable' => false, 'eventDurationEditable' => false,
'title' => '', 'title' => '',
'color' => '#d60001', 'color' => '#d60000',
'textColor' => '#ffffff', 'textColor' => '#ffffff',
'rendering' => 'background', 'rendering' => 'background',
'editable' => false 'editable' => false
...@@ -262,27 +264,31 @@ trait LernraumObject ...@@ -262,27 +264,31 @@ trait LernraumObject
$intervals[] = $booking_interval; $intervals[] = $booking_interval;
} }
$bookings = ResourceBooking::findByResourceAndTimeRanges( $resource_booking_intervals = ResourceBookingInterval::findBySql(
$this, '`resource_id` = :room_id
[ AND (
`begin` BETWEEN :begin AND :end
OR
`end` BETWEEN :begin AND :end
)
AND `booking_id` NOT IN ( :booking_ids )',
[ [
'begin' => $begin, 'room_id' => $this->id,
'end' => $end 'begin' => $begin->getTimestamp(),
'end' => $end->getTimestamp(),
'booking_ids' => $included_resource_booking_ids ?: ['']
] ]
],
[],
$included_resource_booking_ids
); );
foreach ($bookings as $booking) { foreach ($resource_booking_intervals as $interval) {
$occupied_ranges[] = [ $occupied_ranges[] = [
'begin' => $booking->begin, 'begin' => $interval->begin,
'end' => $booking->end 'end' => $interval->end
]; ];
$booking_interval = [ $interval_data = [
'resourceId' => $booking->resource_id, 'resourceId' => $interval->resource_id,
'booking_id' => $booking->id, 'booking_id' => '',
'start' => date('Y-m-d\TH:i:s', $booking->begin), 'start' => date('Y-m-d\TH:i:s', $interval->begin),
'end' => date('Y-m-d\TH:i:s', $booking->end), 'end' => date('Y-m-d\TH:i:s', $interval->end),
'eventStartEditable' => false, 'eventStartEditable' => false,
'eventDurationEditable' => false, 'eventDurationEditable' => false,
'title' => '', 'title' => '',
...@@ -291,7 +297,7 @@ trait LernraumObject ...@@ -291,7 +297,7 @@ trait LernraumObject
'rendering' => 'background', 'rendering' => 'background',
'editable' => false 'editable' => false
]; ];
$intervals[] = $booking_interval; $intervals[] = $interval_data;
} }
uasort( uasort(
......
pluginclassname=LernraumPlugin pluginclassname=LernraumPlugin
pluginname=LernraumPlugin pluginname=LernraumPlugin
origin=data-quest origin=data-quest
version=5.10.6 version=5.10.7
description=Verwaltung von Lernräumen description=Verwaltung von Lernräumen
studipMinVersion=4.5 studipMinVersion=4.5
studipMaxVersion=4.9.99 studipMaxVersion=4.9.99
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment