aboutsummaryrefslogtreecommitdiff
path: root/lib/models/resources
diff options
context:
space:
mode:
authorMoritz Strohm <strohm@data-quest.de>2023-07-19 06:30:54 +0000
committerMoritz Strohm <strohm@data-quest.de>2023-07-19 06:30:54 +0000
commit591fc0c0d98f7ed040b0c18968ab6c92a433ebcc (patch)
tree848eb85b43b343ca92996ce118b48ebfed42866e /lib/models/resources
parentb5e68417dc5b7f1e1ec895ba5108befbbf1c2272 (diff)
display course name if a course booking overlaps a new booking, re #2119
Merge request studip/studip!1914
Diffstat (limited to 'lib/models/resources')
-rw-r--r--lib/models/resources/ResourceBooking.class.php52
1 files changed, 42 insertions, 10 deletions
diff --git a/lib/models/resources/ResourceBooking.class.php b/lib/models/resources/ResourceBooking.class.php
index 3d8ec28..218a3e4 100644
--- a/lib/models/resources/ResourceBooking.class.php
+++ b/lib/models/resources/ResourceBooking.class.php
@@ -531,18 +531,50 @@ class ResourceBooking extends SimpleORMap implements PrivacyObject, Studip\Calen
($this->isNew() ? [] : [$this->id])
);
if ($is_assigned) {
+ //Find the other booking:
+ $other_booking = self::findByResourceAndTimeRanges(
+ $derived_resource,
+ [$time_interval],
+ [0, 2],
+ [$this->id]
+ );
+ $course = null;
+ if (
+ count($other_booking) >= 1
+ && !empty($other_booking[0]->assigned_course_date->course)
+ ) {
+ $course = $other_booking[0]->assigned_course_date->course;
+ }
if ($time_interval['begin']->format('Ymd') == $time_interval['end']->format('Ymd')) {
- $time_interval_overlaps[] = sprintf(
- _('Gebucht im Bereich vom %1$s bis %2$s'),
- $time_interval['begin']->format('d.m.Y H:i'),
- $time_interval['end']->format('H:i')
- );
+ if ($course) {
+ $time_interval_overlaps[] = sprintf(
+ _('Gebucht im Bereich vom %1$s bis %2$s durch die Veranstaltung %3$s.'),
+ $time_interval['begin']->format('d.m.Y H:i'),
+ $time_interval['end']->format('H:i'),
+ $course->getFullName()
+ );
+ } else {
+ $time_interval_overlaps[] = sprintf(
+ _('Gebucht im Bereich vom %1$s bis %2$s'),
+ $time_interval['begin']->format('d.m.Y H:i'),
+ $time_interval['end']->format('H:i')
+ );
+ }
} else {
- $time_interval_overlaps[] = sprintf(
- _('Gebucht im Bereich vom %1$s bis zum %2$s'),
- $time_interval['begin']->format('d.m.Y H:i'),
- $time_interval['end']->format('d.m.Y H:i')
- );
+ if ($course) {
+ $time_interval_overlaps[] = sprintf(
+ _('Gebucht im Bereich vom %1$s bis zum %2$s durch die Veranstaltung %3$s.'),
+ $time_interval['begin']->format('d.m.Y H:i'),
+ $time_interval['end']->format('d.m.Y H:i'),
+ $course->getFullName()
+ );
+ } else {
+ $time_interval_overlaps[] = sprintf(
+ _('Gebucht im Bereich vom %1$s bis zum %2$s'),
+ $time_interval['begin']->format('d.m.Y H:i'),
+ $time_interval['end']->format('d.m.Y H:i')
+ );
+ }
}
}
}