You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
engelsystem/includes/view/ShiftEntry_view.php

166 lines
5.7 KiB
PHP

<?php
/**
* Sign off from an user from a shift with admin permissions, asking for ack.
*
* @param array $shiftEntry
* @param array $shift
* @param array $angeltype
* @param array $signoff_user
*
* @return string HTML
*/
function ShiftEntry_delete_view_admin($shiftEntry, $shift, $angeltype, $signoff_user)
{
return page_with_title(ShiftEntry_delete_title(), [
info(sprintf(_('Do you want to sign off %s from shift %s from %s to %s as %s?'), User_Nick_render($signoff_user), $shift['name'], date('Y-m-d H:i', $shift['start']), date('Y-m-d H:i', $shift['end']), $angeltype['name']), true),
buttons([
button(user_link($signoff_user), glyph('remove') . _('cancel')),
button(shift_entry_delete_link($shiftEntry, [
'continue' => 1
]), glyph('ok') . _('delete'), 'btn-danger')
])
]);
}
/**
* Sign off from a shift, asking for ack.
*
* @param array $shiftEntry
* @param array $shift
* @param array $angeltype
* @param array $signoff_user
*
* @return string HTML
*/
function ShiftEntry_delete_view($shiftEntry, $shift, $angeltype, $signoff_user)
{
return page_with_title(ShiftEntry_delete_title(), [
info(sprintf(_('Do you want to sign off from your shift %s from %s to %s as %s?'), $shift['name'], date('Y-m-d H:i', $shift['start']), date('Y-m-d H:i', $shift['end']), $angeltype['name']), true),
buttons([
button(user_link($signoff_user), glyph('remove') . _('cancel')),
button(shift_entry_delete_link($shiftEntry, [
'continue' => 1
]), glyph('ok') . _('delete'), 'btn-danger')
])
]);
}
/**
* Title for deleting a shift entry.
*/
function ShiftEntry_delete_title()
{
return _('Shift sign off');
}
/**
* Admin puts user into shift.
*
* @param array $shift
* @param array $room
* @param array $angeltype
* @param array $angeltypes_select
* @param array $signup_user
* @param array $users_select
*/
function ShiftEntry_create_view_admin($shift, $room, $angeltype, $angeltypes_select, $signup_user, $users_select)
{
return page_with_title(ShiftEntry_create_title() . ': ' . $shift['name'] . ' <small class="moment-countdown" data-timestamp="' . $shift['start'] . '">%c</small>', [
Shift_view_header($shift, $room),
info(_('Do you want to sign up the following user for this shift?'), true),
form([
form_select('angeltype_id', _('Angeltype'), $angeltypes_select, $angeltype['id']),
form_select('user_id', _('User'), $users_select, $signup_user['UID']),
form_submit('submit', glyph('ok') . _('Save'))
])
]);
}
/**
* Supporter puts user into shift.
*
* @param array $shift
* @param array $room
* @param array $angeltype
* @param array $signup_user
* @param array $users_select
*/
function ShiftEntry_create_view_supporter($shift, $room, $angeltype, $signup_user, $users_select)
{
return page_with_title(ShiftEntry_create_title() . ': ' . $shift['name'] . ' <small class="moment-countdown" data-timestamp="' . $shift['start'] . '">%c</small>', [
Shift_view_header($shift, $room),
info(sprintf(_('Do you want to sign up the following user for this shift as %s?'), AngelType_name_render($angeltype)), true),
form([
form_select('user_id', _('User'), $users_select, $signup_user['UID']),
form_submit('submit', glyph('ok') . _('Save'))
])
]);
}
/**
* User joining a shift.
*
* @param array $shift
* @param array $room
* @param array $angeltype
* @param string $comment
*/
function ShiftEntry_create_view_user($shift, $room, $angeltype, $comment)
{
return page_with_title(ShiftEntry_create_title() . ': ' . $shift['name'] . ' <small class="moment-countdown" data-timestamp="' . $shift['start'] . '">%c</small>', [
Shift_view_header($shift, $room),
info(sprintf(_('Do you want to sign up for this shift as %s?'), AngelType_name_render($angeltype)), true),
form([
form_textarea('comment', _('Comment (for your eyes only):'), $comment),
form_submit('submit', glyph('ok') . _('Save'))
])
]);
}
/**
* Title for creating a shift entry.
*/
function ShiftEntry_create_title()
{
return _('Shift signup');
}
/**
* Display form for adding/editing a shift entry.
*
* @param string $angel
* @param string $date
* @param string $location
* @param string $title
* @param string $type
* @param string $comment
* @param bool $freeloaded
* @param string $freeload_comment
* @param bool $user_admin_shifts
* @return string
*/
function ShiftEntry_edit_view($angel, $date, $location, $title, $type, $comment, $freeloaded, $freeload_comment, $user_admin_shifts = false)
{
$freeload_form = [];
if ($user_admin_shifts) {
$freeload_form = [
form_checkbox('freeloaded', _('Freeloaded'), $freeloaded),
form_textarea('freeload_comment', _('Freeload comment (Only for shift coordination):'), $freeload_comment)
];
}
return page_with_title(_('Edit shift entry'), [
msg(),
form([
form_info(_('Angel:'), $angel),
form_info(_('Date, Duration:'), $date),
form_info(_('Location:'), $location),
form_info(_('Title:'), $title),
form_info(_('Type:'), $type),
form_textarea('comment', _('Comment (for your eyes only):'), $comment),
join('', $freeload_form),
form_submit('submit', _('Save'))
])
]);
}