supporters can freeload
This commit is contained in:
parent
7e26e20608
commit
e7ff3b657a
|
@ -20,10 +20,18 @@ function user_myshifts()
|
||||||
{
|
{
|
||||||
$user = auth()->user();
|
$user = auth()->user();
|
||||||
$request = request();
|
$request = request();
|
||||||
|
$is_angeltype_supporter = false;
|
||||||
|
if ($request->has('edit')) {
|
||||||
|
$id = $request->input('edit');
|
||||||
|
$shiftEntry = ShiftEntry::where('id', $id)
|
||||||
|
->where('user_id', User::find($request->input('id'))->id)
|
||||||
|
->first();
|
||||||
|
$is_angeltype_supporter = $shiftEntry && auth()->user()->isAngelTypeSupporter($shiftEntry->angelType);
|
||||||
|
}
|
||||||
|
|
||||||
if (
|
if (
|
||||||
$request->has('id')
|
$request->has('id')
|
||||||
&& auth()->can('user_shifts_admin')
|
&& (auth()->can('user_shifts_admin') || $is_angeltype_supporter)
|
||||||
&& preg_match('/^\d+$/', $request->input('id'))
|
&& preg_match('/^\d+$/', $request->input('id'))
|
||||||
&& User::find($request->input('id'))
|
&& User::find($request->input('id'))
|
||||||
) {
|
) {
|
||||||
|
@ -61,7 +69,10 @@ function user_myshifts()
|
||||||
|
|
||||||
if ($request->hasPostData('submit')) {
|
if ($request->hasPostData('submit')) {
|
||||||
$valid = true;
|
$valid = true;
|
||||||
if (auth()->can('user_shifts_admin')) {
|
if (
|
||||||
|
auth()->can('user_shifts_admin')
|
||||||
|
|| $is_angeltype_supporter
|
||||||
|
) {
|
||||||
$freeloaded = $request->has('freeloaded');
|
$freeloaded = $request->has('freeloaded');
|
||||||
$freeloaded_comment = strip_request_item_nl('freeloaded_comment');
|
$freeloaded_comment = strip_request_item_nl('freeloaded_comment');
|
||||||
if ($freeloaded && $freeloaded_comment == '') {
|
if ($freeloaded && $freeloaded_comment == '') {
|
||||||
|
@ -91,6 +102,9 @@ function user_myshifts()
|
||||||
. '. Freeloaded: ' . ($freeloaded ? 'YES Comment: ' . $freeloaded_comment : 'NO')
|
. '. Freeloaded: ' . ($freeloaded ? 'YES Comment: ' . $freeloaded_comment : 'NO')
|
||||||
);
|
);
|
||||||
success(__('Shift saved.'));
|
success(__('Shift saved.'));
|
||||||
|
if ($is_angeltype_supporter) {
|
||||||
|
throw_redirect(url('/shifts', ['action' => 'view', 'shift_id' => $shiftEntry->shift_id]));
|
||||||
|
}
|
||||||
throw_redirect(url('/users', ['action' => 'view', 'user_id' => $shifts_user->id]));
|
throw_redirect(url('/users', ['action' => 'view', 'user_id' => $shifts_user->id]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -104,13 +118,13 @@ function user_myshifts()
|
||||||
$shiftEntry->user_comment,
|
$shiftEntry->user_comment,
|
||||||
$shiftEntry->freeloaded,
|
$shiftEntry->freeloaded,
|
||||||
$shiftEntry->freeloaded_comment,
|
$shiftEntry->freeloaded_comment,
|
||||||
auth()->can('user_shifts_admin')
|
auth()->can('user_shifts_admin'),
|
||||||
|
$is_angeltype_supporter
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
throw_redirect(url('/user-myshifts'));
|
throw_redirect(url('/user-myshifts'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
throw_redirect(url('/users', ['action' => 'view', 'user_id' => $shifts_user->id]));
|
throw_redirect(url('/users', ['action' => 'view', 'user_id' => $shifts_user->id]));
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
|
@ -205,15 +205,16 @@ function ShiftEntry_edit_view(
|
||||||
$comment,
|
$comment,
|
||||||
$freeloaded,
|
$freeloaded,
|
||||||
$freeloaded_comment,
|
$freeloaded_comment,
|
||||||
$user_admin_shifts = false
|
$user_admin_shifts = false,
|
||||||
|
$angeltype_supporter = false
|
||||||
) {
|
) {
|
||||||
$freeload_form = [];
|
$freeload_form = [];
|
||||||
if ($user_admin_shifts) {
|
if ($user_admin_shifts || $angeltype_supporter) {
|
||||||
$freeload_form = [
|
$freeload_form = [
|
||||||
form_checkbox('freeloaded', __('Freeloaded'), $freeloaded),
|
form_checkbox('freeloaded', __('Freeloaded'), $freeloaded),
|
||||||
form_textarea(
|
form_textarea(
|
||||||
'freeloaded_comment',
|
'freeloaded_comment',
|
||||||
__('Freeload comment (Only for shift coordination):'),
|
__('Freeload comment (Only for shift coordination and supporters):'),
|
||||||
$freeloaded_comment
|
$freeloaded_comment
|
||||||
),
|
),
|
||||||
];
|
];
|
||||||
|
|
|
@ -319,14 +319,12 @@ function Shift_view_render_shift_entry(ShiftEntry $shift_entry, $user_shift_admi
|
||||||
$isUser = $shift_entry->user_id == auth()->user()->id;
|
$isUser = $shift_entry->user_id == auth()->user()->id;
|
||||||
if ($user_shift_admin || $angeltype_supporter || $isUser) {
|
if ($user_shift_admin || $angeltype_supporter || $isUser) {
|
||||||
$entry .= ' <div class="btn-group m-1">';
|
$entry .= ' <div class="btn-group m-1">';
|
||||||
if ($user_shift_admin || $isUser) {
|
|
||||||
$entry .= button_icon(
|
$entry .= button_icon(
|
||||||
url('/user-myshifts', ['edit' => $shift_entry->id, 'id' => $shift_entry->user_id]),
|
url('/user-myshifts', ['edit' => $shift_entry->id, 'id' => $shift_entry->user_id]),
|
||||||
'pencil',
|
'pencil',
|
||||||
'btn-sm',
|
'btn-sm',
|
||||||
__('form.edit')
|
__('form.edit')
|
||||||
);
|
);
|
||||||
}
|
|
||||||
$angeltype = $shift_entry->angelType;
|
$angeltype = $shift_entry->angelType;
|
||||||
$disabled = Shift_signout_allowed($shift, $angeltype, $shift_entry->user_id) ? '' : ' btn-disabled';
|
$disabled = Shift_signout_allowed($shift, $angeltype, $shift_entry->user_id) ? '' : ' btn-disabled';
|
||||||
$entry .= button_icon(
|
$entry .= button_icon(
|
||||||
|
|
|
@ -1077,8 +1077,8 @@ msgstr "Schicht Anmeldung"
|
||||||
msgid "Freeloaded"
|
msgid "Freeloaded"
|
||||||
msgstr "Geschwänzt"
|
msgstr "Geschwänzt"
|
||||||
|
|
||||||
msgid "Freeload comment (Only for shift coordination):"
|
msgid "Freeload comment (Only for shift coordination and supporters):"
|
||||||
msgstr "Schwänzer Kommentar (Nur für die Schicht-Koordination):"
|
msgstr "Schwänzer Kommentar (Nur für Supporter und die Schicht-Koordination):"
|
||||||
|
|
||||||
msgid "Edit shift entry"
|
msgid "Edit shift entry"
|
||||||
msgstr "Schichteintrag bearbeiten"
|
msgstr "Schichteintrag bearbeiten"
|
||||||
|
|
Loading…
Reference in New Issue