summaryrefslogtreecommitdiff
path: root/includes/view
diff options
context:
space:
mode:
authorIgor Scheller <igor.scheller@igorshp.de>2019-08-21 22:08:39 +0200
committerIgor Scheller <igor.scheller@igorshp.de>2019-08-21 22:08:48 +0200
commitb2a4225a6208ae3a13c97a636d41c99575f26a09 (patch)
treed6016bc29a27c3b53103e194b2e81311941186bb /includes/view
parent1a6c7599d68cb73f4ce8d1aebec894b10fc7aab1 (diff)
Shift page: show additional angeltypes if shift entries where found
Diffstat (limited to 'includes/view')
-rw-r--r--includes/view/Shifts_view.php17
1 files changed, 15 insertions, 2 deletions
diff --git a/includes/view/Shifts_view.php b/includes/view/Shifts_view.php
index 133ceb06..ef8da9c2 100644
--- a/includes/view/Shifts_view.php
+++ b/includes/view/Shifts_view.php
@@ -2,6 +2,7 @@
use Engelsystem\Models\User\User;
use Engelsystem\ShiftSignupState;
+use Illuminate\Support\Collection;
/**
* Renders the basic shift view header.
@@ -115,10 +116,22 @@ function Shift_view($shift, $shifttype, $room, $angeltypes_source, ShiftSignupSt
}
$needed_angels = '';
- foreach ($shift['NeedAngels'] as $needed_angeltype) {
+ $neededAngels = new Collection($shift['NeedAngels']);
+ foreach ($neededAngels as $needed_angeltype) {
$needed_angels .= Shift_view_render_needed_angeltype($needed_angeltype, $angeltypes, $shift, $user_shift_admin);
}
+ foreach ($shift['ShiftEntry'] as $shiftEntry) {
+ if (!$neededAngels->where('TID', $shiftEntry['TID'])->first()) {
+ $needed_angels .= Shift_view_render_needed_angeltype([
+ 'TID' => $shiftEntry['TID'],
+ 'count' => 0,
+ 'restricted' => true,
+ 'taken' => true,
+ ], $angeltypes, $shift, $user_shift_admin);
+ }
+ }
+
$content = [msg()];
if ($shift_signup_state->getState() == ShiftSignupState::COLLIDES) {
@@ -197,7 +210,7 @@ function Shift_view_render_needed_angeltype($needed_angeltype, $angeltypes, $shi
$needed_angels .= '<h3>' . AngelType_name_render($angeltype) . '</h3>';
$bar_max = max($needed_angeltype['count'] * 10, $needed_angeltype['taken'] * 10, 10);
- $bar_value = max($bar_max/10, $needed_angeltype['taken'] * 10);
+ $bar_value = max($bar_max / 10, $needed_angeltype['taken'] * 10);
$needed_angels .= progress_bar(
0,
$bar_max,