diff --git a/application/Timerecording/TimerecordingController.php b/application/Timerecording/TimerecordingController.php index 8af4fe440..2922cbc60 100644 --- a/application/Timerecording/TimerecordingController.php +++ b/application/Timerecording/TimerecordingController.php @@ -211,21 +211,25 @@ class TimerecordingController extends mfBaseController $plushours = $employee[0]->plushours_now * 1.25; $overtime = $employee[0]->overtime_now * 1.5; $overtimesum = $plushours + $overtime; - if ($overtimesum < $isTime) { - if ($overtimesum < 0) { - $overtimesum = 0; + if (!$this->me->can('Fibu')): + if ($overtimesum < $isTime) { + if ($overtimesum < 0) { + $overtimesum = 0; + } + $result['state'] = "error"; + $result['error'] = "Maximal verfügbarer ZA: " . sprintf('%02dh:%02dm', floor($overtimesum / 3600), floor($overtimesum / 60 % 60)) . "."; + echo json_encode($result); + die(); } - $result['state'] = "error"; - $result['error'] = "Maximal verfügbarer ZA: " . sprintf('%02dh:%02dm', floor($overtimesum / 3600), floor($overtimesum / 60 % 60)) . "."; - echo json_encode($result); - die(); - } + endif; if ($plushours >= $isTime) { $isTime = $isTime * 0.8; $return['hours'] = $isTime; } elseif ($plushours == 0) { $isTime = $isTime * 0.66666666666666666666666666666667; $return ['hours_overtime'] = $isTime; + } elseif ($plushours <= 0 && $overtime <= 0) { + $return['hours'] = $isTime; } else { $isTime25 = $plushours; $isTime50 = $isTime - $plushours;