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

Merge branch 'fix-booking-plans' into 'master'

Fix booking plans

Closes #104

See merge request studip-plugins/LernraumPlugin!21
parents eee1bda9 996b451a
No related branches found
No related tags found
1 merge request!21Fix booking plans
......@@ -218,7 +218,9 @@ trait LernraumObject
);
$included_resource_booking_ids = [];
foreach ($study_room_bookings as $booking) {
if ($booking->resource_booking_id) {
$included_resource_booking_ids[] = $booking->resource_booking_id;
}
$occupied_ranges[] = [
'begin' => $booking->begin,
'end' => $booking->end
......@@ -232,7 +234,7 @@ trait LernraumObject
'eventStartEditable' => false,
'eventDurationEditable' => false,
'title' => '',
'color' => '#d60001',
'color' => '#d60000',
'textColor' => '#ffffff',
'rendering' => 'background',
'editable' => false
......@@ -262,27 +264,31 @@ trait LernraumObject
$intervals[] = $booking_interval;
}
$bookings = ResourceBooking::findByResourceAndTimeRanges(
$this,
[
$resource_booking_intervals = ResourceBookingInterval::findBySql(
'`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,
'end' => $end
'room_id' => $this->id,
'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[] = [
'begin' => $booking->begin,
'end' => $booking->end
'begin' => $interval->begin,
'end' => $interval->end
];
$booking_interval = [
'resourceId' => $booking->resource_id,
'booking_id' => $booking->id,
'start' => date('Y-m-d\TH:i:s', $booking->begin),
'end' => date('Y-m-d\TH:i:s', $booking->end),
$interval_data = [
'resourceId' => $interval->resource_id,
'booking_id' => '',
'start' => date('Y-m-d\TH:i:s', $interval->begin),
'end' => date('Y-m-d\TH:i:s', $interval->end),
'eventStartEditable' => false,
'eventDurationEditable' => false,
'title' => '',
......@@ -291,7 +297,7 @@ trait LernraumObject
'rendering' => 'background',
'editable' => false
];
$intervals[] = $booking_interval;
$intervals[] = $interval_data;
}
uasort(
......
pluginclassname=LernraumPlugin
pluginname=LernraumPlugin
origin=data-quest
version=5.10.6
version=5.10.7
description=Verwaltung von Lernräumen
studipMinVersion=4.5
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