From fa2034cca7372d379cf2bd86adb0604b181dd41e Mon Sep 17 00:00:00 2001 From: Moritz Strohm Date: Mon, 26 Aug 2024 16:51:12 +0200 Subject: added booking plan link to error messages --- app/controllers/course/timesrooms.php | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/app/controllers/course/timesrooms.php b/app/controllers/course/timesrooms.php index bb84a00..6837f88 100644 --- a/app/controllers/course/timesrooms.php +++ b/app/controllers/course/timesrooms.php @@ -532,7 +532,7 @@ class Course_TimesroomsController extends AuthenticatedController $failure = !$termin->bookRoom($room, $preparation_time ?: 0); } catch (ResourceBookingException|ResourceBookingOverlapException $e) { $course = $e->getRange(); - $link = null; + $message_links = []; if ($course instanceof Course) { if ($course->isEditableByUser($GLOBALS['user']->id)) { @@ -542,6 +542,7 @@ class Course_TimesroomsController extends AuthenticatedController URLHelper::getURL('dispatch.php/course/timesrooms/index', ['cid' => $course->id]), Icon::create('link-intern') ); + $message_links[] = $link->render(); } elseif ($course->isAccessibleToUser($GLOBALS['user']->id)) { //Link to the details page: $link = new LinkElement( @@ -549,8 +550,16 @@ class Course_TimesroomsController extends AuthenticatedController URLHelper::getURL('course/details/index', ['cid' => $course->id]), Icon::create('link-intern') ); + $message_links[] = $link->render(); } } + if ($room->userHasBookingRights(User::findCurrent())) { + $room_link = new LinkElement( + _('Zum Belegungsplan'), + $room->getActionURL('booking_plan') + ); + $message_links[] = $room_link->render(); + } if ($e instanceof ResourceBookingException) { PageLayout::postError( sprintf( @@ -558,7 +567,7 @@ class Course_TimesroomsController extends AuthenticatedController '' . htmlReady($termin->getFullName()) . '', $e->getMessage() ), - $link ? [$link->render()] : [] + $message_links ); } else { //$e is a ResourceBookingOverlapException @@ -571,7 +580,8 @@ class Course_TimesroomsController extends AuthenticatedController 'date' => $termin->getFullName(), 'course_name' => $course->name ] - ) + ), + $message_links ); } else { PageLayout::postError( @@ -581,7 +591,8 @@ class Course_TimesroomsController extends AuthenticatedController 'room_name' => $room->name, 'date' => $termin->getFullName() ] - ) + ), + $message_links ); } } -- cgit v1.0