summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--includes/view/ShiftCalendarLane.php3
-rw-r--r--includes/view/ShiftCalendarRenderer.php6
2 files changed, 7 insertions, 2 deletions
diff --git a/includes/view/ShiftCalendarLane.php b/includes/view/ShiftCalendarLane.php
index 251b8013..fd4c6f06 100644
--- a/includes/view/ShiftCalendarLane.php
+++ b/includes/view/ShiftCalendarLane.php
@@ -2,6 +2,8 @@
namespace Engelsystem;
+use Exception;
+
/**
* Represents a single lane in a shifts calendar.
*/
@@ -38,6 +40,7 @@ class ShiftCalendarLane
* Returns true on success.
*
* @param array $shift The shift to add
+ * @throws Exception if the shift doesn't fit into the lane.
*/
public function addShift($shift)
{
diff --git a/includes/view/ShiftCalendarRenderer.php b/includes/view/ShiftCalendarRenderer.php
index df24ad3b..3269f338 100644
--- a/includes/view/ShiftCalendarRenderer.php
+++ b/includes/view/ShiftCalendarRenderer.php
@@ -1,6 +1,8 @@
<?php
namespace Engelsystem;
+use Exception;
+
class ShiftCalendarRenderer
{
@@ -93,9 +95,9 @@ class ShiftCalendarRenderer
$shift_added = false;
foreach ($lanes[$room_id] as $lane) {
/** @var ShiftCalendarLane $lane */
- try {
+ if($lane->shiftFits($shift)) {
$lane->addShift($shift);
- } catch (Exception $e) {
+ $shift_added = true;
break;
}
}