From 038bf97178ec369f693ca1ca8445ab527abc919d Mon Sep 17 00:00:00 2001 From: Philip Häusler Date: Fri, 19 Dec 2014 22:59:18 +0100 Subject: link to next shift in menu --- includes/controller/shifts_controller.php | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'includes/controller/shifts_controller.php') diff --git a/includes/controller/shifts_controller.php b/includes/controller/shifts_controller.php index 58131d2e..041f21e2 100644 --- a/includes/controller/shifts_controller.php +++ b/includes/controller/shifts_controller.php @@ -16,7 +16,7 @@ function shift_controller() { global $user, $privileges; if (! in_array('user_shifts', $privileges)) - redirect(page_link_to('user_shifts')); + redirect(page_link_to('?')); if (! isset($_REQUEST['shift_id'])) redirect(page_link_to('user_shifts')); @@ -58,9 +58,30 @@ function shifts_controller() { redirect(page_link_to('?')); case 'view': return shift_controller(); + case 'next': + return shift_next_controller(); } } +/** + * Redirects the user to his next shift. + */ +function shift_next_controller() { + global $user, $privileges; + + if (! in_array('user_shifts', $privileges)) + redirect(page_link_to('?')); + + $upcoming_shifts = ShiftEntries_upcoming_for_user($user); + if ($upcoming_shifts === false) + return false; + + if (count($upcoming_shifts) > 0) + redirect(shift_link($upcoming_shifts[0])); + + redirect(page_link_to('user_shifts')); +} + /** * Export all shifts using api-key. */ -- cgit v1.2.3-54-g00ecf