diff options
Diffstat (limited to 'includes')
-rw-r--r-- | includes/view/User_view.php | 135 |
1 files changed, 78 insertions, 57 deletions
diff --git a/includes/view/User_view.php b/includes/view/User_view.php index 1d3dae68..5aec1962 100644 --- a/includes/view/User_view.php +++ b/includes/view/User_view.php @@ -472,20 +472,11 @@ function User_view($user_source, $admin_user_privilege, $freeloader, $user_angel ]), div('row', [ div('col-md-3', [ - '<h1>', - '<span class="glyphicon glyphicon-phone"></span>', - $user_source['DECT'], - '</h1>' + heading(glyph('phone') . $user_source['DECT'], 1) ]), - User_view_state($admin_user_privilege, $freeloader, $its_me, $user_source), - div('col-md-3', [ - '<h4>' . _('Angeltypes') . '</h4>', - User_angeltypes_render($user_angeltypes) - ]), - div('col-md-3', [ - '<h4>' . _('Rights') . '</h4>', - User_groups_render($user_groups) - ]) + User_view_state($admin_user_privilege, $freeloader, $user_source), + User_angeltypes_render($user_angeltypes), + User_groups_render($user_groups) ]), ($its_me || $admin_user_privilege) ? '<h2>' . _('Shifts') . '</h2>' : '', ($its_me || $admin_user_privilege) ? table([ @@ -510,58 +501,81 @@ function User_view($user_source, $admin_user_privilege, $freeloader, $user_angel /** * Render the state section of user view. */ -function User_view_state($admin_user_privilege, $freeloader, $its_me, $user_source) { +function User_view_state($admin_user_privilege, $freeloader, $user_source) { + if($admin_user_privilege) { + $state = User_view_state_admin($freeloader, $user_source); + } else { + $state = User_view_state_user($user_source); + } + + return div('col-md-3', [ + heading(_('User state'), 4), + join('<br>', $state) + ]); +} + +/** + * Render the state section of user view for users. + */ +function User_view_state_user($user_source) { $state = [ + User_shift_state_render($user_source) ]; - if($admin_user_privilege && $freeloader) { + + if($user_source['Gekommen']) { + $state[] = '<span class="text-success">' . glyph('home') . _('Arrived') . '</span>'; + } else { + $state[] = '<span class="text-danger">' . _('Not arrived') . '</span>'; + } + + return $state; +} + + +/** + * Render the state section of user view for admins. + */ +function User_view_state_admin($freeloader, $user_source) { + $state = []; + + if($freeloader) { $state[] = '<span class="text-danger">' . glyph('exclamation-sign') . _('Freeloader') . '</span>'; } + $state[] = User_shift_state_render($user_source); - if($admin_user_privilege || $its_me) { - if($user_source['Gekommen']) { - $state[] = '<span class="text-success">' . glyph('home') - . sprintf(_('Arrived at %s'), date('Y-m-d', $user_source['arrival_date'])) - . '</span>'; - } else { - $state[] = '<span class="text-danger">' - . sprintf(_('Not arrived (Planned: %s)'), date('Y-m-d', $user_source['planned_arrival_date'])) - . '</span>'; + + if($user_source['Gekommen']) { + $state[] = '<span class="text-success">' . glyph('home') + . sprintf(_('Arrived at %s'), date('Y-m-d', $user_source['arrival_date'])) + . '</span>'; + + if($user_source['force_active']) { + $state[] = '<span class="text-success">' . _('Active (forced)') . '</span>'; + } elseif($user_source['Aktiv']) { + $state[] = '<span class="text-success">' . _('Active') . '</span>'; } - } else { - if($user_source['Gekommen']) { - $state[] = '<span class="text-success">' . glyph('home') . _('Arrived') . '</span>'; - } else { - $state[] = '<span class="text-danger">' . _('Not arrived') . '</span>'; + if($user_source['Tshirt']) { + $state[] = '<span class="text-success">' . _('T-Shirt') . '</span>'; } + } else { + $state[] = '<span class="text-danger">' + . sprintf(_('Not arrived (Planned: %s)'), date('Y-m-d', $user_source['planned_arrival_date'])) + . '</span>'; } - if($admin_user_privilege) { - if($user_source['got_voucher'] > 0) { - $state[] = '<span class="text-success">' - . glyph('cutlery') - . sprintf( - ngettext('Got %s voucher', 'Got %s vouchers', $user_source['got_voucher']), - $user_source['got_voucher'] - ) + + if($user_source['got_voucher'] > 0) { + $state[] = '<span class="text-success">' + . glyph('cutlery') + . sprintf( + ngettext('Got %s voucher', 'Got %s vouchers', $user_source['got_voucher']), + $user_source['got_voucher'] + ) . '</span>'; - } else { - $state[] = '<span class="text-danger">' . _('Got no vouchers') . '</span>'; - } - if($user_source['Gekommen']) { - if($user_source['force_active']) { - $state[] = '<span class="text-success">' . _('Active (forced)') . '</span>'; - } elseif($user_source['Aktiv']) { - $state[] = '<span class="text-success">' . _('Active') . '</span>'; - } - if($user_source['Tshirt']) { - $state[] = '<span class="text-success">' . _('T-Shirt') . '</span>'; - } - } + } else { + $state[] = '<span class="text-danger">' . _('Got no vouchers') . '</span>'; } - - return div('col-md-3',[ - heading(_('User state'), 4), - join('<br>', $state) - ]); + + return $state; } /** @@ -615,7 +629,10 @@ function User_angeltypes_render($user_angeltypes) . ($angeltype['supporter'] ? glyph('education') : '') . $angeltype['name'] . '</a>'; } - return join('<br />', $output); + return div('col-md-3', [ + heading(_('Angeltypes'), 4), + join('<br>', $output) + ]); } /** @@ -628,7 +645,11 @@ function User_groups_render($user_groups) foreach ($user_groups as $group) { $output[] = substr($group['Name'], 2); } - return join('<br />', $output); + + return div('col-md-3', [ + '<h4>' . _('Rights') . '</h4>', + join('<br>', $output) + ]); } /** |