summaryrefslogtreecommitdiff
path: root/includes
diff options
context:
space:
mode:
Diffstat (limited to 'includes')
-rw-r--r--includes/helper/message_helper.php11
-rw-r--r--includes/model/Shifts_model.php4
-rw-r--r--includes/pages/user_shifts.php6
-rw-r--r--includes/view/Rooms_view.php8
4 files changed, 24 insertions, 5 deletions
diff --git a/includes/helper/message_helper.php b/includes/helper/message_helper.php
index 7a42a7b7..4fa0efe3 100644
--- a/includes/helper/message_helper.php
+++ b/includes/helper/message_helper.php
@@ -57,16 +57,17 @@ function success($msg, $immediately = false)
* @param string $class
* @param string $msg
* @param bool $immediately
- * @return string|null
+ * @return string
*/
function alert($class, $msg, $immediately = false)
{
$session = session();
+ if (empty($msg)) {
+ return '';
+ }
+
if ($immediately) {
- if ($msg == '') {
- return '';
- }
return '<div class="alert alert-' . $class . '">' . $msg . '</div>';
}
@@ -74,5 +75,5 @@ function alert($class, $msg, $immediately = false)
$message .= alert($class, $msg, true);
$session->set('msg', $message);
- return null;
+ return '';
}
diff --git a/includes/model/Shifts_model.php b/includes/model/Shifts_model.php
index 1589939d..03f8341f 100644
--- a/includes/model/Shifts_model.php
+++ b/includes/model/Shifts_model.php
@@ -245,6 +245,10 @@ function Shift_signup_allowed_angel(
) {
$free_entries = Shift_free_entries($needed_angeltype, $shift_entries);
+ if (config('signup_requires_arrival') && !$user['Gekommen']) {
+ return new ShiftSignupState(ShiftSignupState::SHIFT_ENDED, $free_entries);
+ }
+
if ($user_shifts == null) {
$user_shifts = Shifts_by_user($user);
}
diff --git a/includes/pages/user_shifts.php b/includes/pages/user_shifts.php
index 30abbde6..2bd7688f 100644
--- a/includes/pages/user_shifts.php
+++ b/includes/pages/user_shifts.php
@@ -206,6 +206,11 @@ function view_user_shifts()
$end_day = date('Y-m-d', $shiftsFilter->getEndTime());
$end_time = date('H:i', $shiftsFilter->getEndTime());
+ $assignNotice = '';
+ if (config('signup_requires_arrival') && !$user['Gekommen']) {
+ $assignNotice = info(render_user_arrived_hint(), true);
+ }
+
return page([
div('col-md-12', [
msg(),
@@ -229,6 +234,7 @@ function view_user_shifts()
. ' <a href="' . page_link_to('angeltypes', ['action' => 'about']) . '">'
. _('Description of the jobs.')
. '</a>',
+ 'assign_notice' => $assignNotice,
'shifts_table' => msg() . $shiftCalendarRenderer->render(),
'ical_text' => '<h2>' . _('iCal export') . '</h2><p>' . sprintf(
_('Export of shown shifts. <a href="%s">iCal format</a> or <a href="%s">JSON format</a> available (please keep secret, otherwise <a href="%s">reset the api key</a>).'),
diff --git a/includes/view/Rooms_view.php b/includes/view/Rooms_view.php
index 3c0440a4..adb58a9a 100644
--- a/includes/view/Rooms_view.php
+++ b/includes/view/Rooms_view.php
@@ -11,8 +11,16 @@ use Engelsystem\ShiftsFilterRenderer;
*/
function Room_view($room, ShiftsFilterRenderer $shiftsFilterRenderer, ShiftCalendarRenderer $shiftCalendarRenderer)
{
+ global $user;
+
+ $assignNotice = '';
+ if (config('signup_requires_arrival') && !$user['Gekommen']) {
+ $assignNotice = info(render_user_arrived_hint(), true);
+ }
+
return page_with_title(glyph('map-marker') . $room['Name'], [
$shiftsFilterRenderer->render($room),
+ $assignNotice,
$shiftCalendarRenderer->render()
]);
}