diff options
Diffstat (limited to 'includes/controller/shifttypes_controller.php')
-rw-r--r-- | includes/controller/shifttypes_controller.php | 301 |
1 files changed, 157 insertions, 144 deletions
diff --git a/includes/controller/shifttypes_controller.php b/includes/controller/shifttypes_controller.php index 456e39ae..9a470e29 100644 --- a/includes/controller/shifttypes_controller.php +++ b/includes/controller/shifttypes_controller.php @@ -1,179 +1,192 @@ <?php -function shifttype_link($shifttype) { - return page_link_to('shifttypes') . '&action=view&shifttype_id=' . $shifttype['id']; +/** + * @param array $shifttype + * @return string + */ +function shifttype_link($shifttype) +{ + return page_link_to('shifttypes') . '&action=view&shifttype_id=' . $shifttype['id']; } /** * Delete a shifttype. + * + * @return array */ -function shifttype_delete_controller() { - if (! isset($_REQUEST['shifttype_id'])) { - redirect(page_link_to('shifttypes')); - } - - $shifttype = ShiftType($_REQUEST['shifttype_id']); - if ($shifttype === false) { - engelsystem_error('Unable to load shifttype.'); - } - - if ($shifttype == null) { - redirect(page_link_to('shifttypes')); - } - - if (isset($_REQUEST['confirmed'])) { - $result = ShiftType_delete($shifttype['id']); - if ($result === false) { - engelsystem_error('Unable to delete shifttype.'); +function shifttype_delete_controller() +{ + if (!isset($_REQUEST['shifttype_id'])) { + redirect(page_link_to('shifttypes')); } - - engelsystem_log('Deleted shifttype ' . $shifttype['name']); - success(sprintf(_('Shifttype %s deleted.'), $shifttype['name'])); - redirect(page_link_to('shifttypes')); - } - - return [ - sprintf(_("Delete shifttype %s"), $shifttype['name']), - ShiftType_delete_view($shifttype) - ]; -} -/** - * Edit or create shift type. - */ -function shifttype_edit_controller() { - $shifttype_id = null; - $name = ""; - $angeltype_id = null; - $description = ""; - - $angeltypes = AngelTypes(); - - if (isset($_REQUEST['shifttype_id'])) { $shifttype = ShiftType($_REQUEST['shifttype_id']); - if ($shifttype === false) { - engelsystem_error('Unable to load shifttype.'); - } + if ($shifttype == null) { - error(_('Shifttype not found.')); - redirect(page_link_to('shifttypes')); - } - $shifttype_id = $shifttype['id']; - $name = $shifttype['name']; - $angeltype_id = $shifttype['angeltype_id']; - $description = $shifttype['description']; - } - - if (isset($_REQUEST['submit'])) { - $valid = true; - - if (isset($_REQUEST['name']) && $_REQUEST['name'] != '') { - $name = strip_request_item('name'); - } else { - $valid = false; - error(_('Please enter a name.')); + redirect(page_link_to('shifttypes')); } - - if (isset($_REQUEST['angeltype_id']) && preg_match("/^[0-9]+$/", $_REQUEST['angeltype_id'])) { - $angeltype_id = $_REQUEST['angeltype_id']; - } else { - $angeltype_id = null; + + if (isset($_REQUEST['confirmed'])) { + $result = ShiftType_delete($shifttype['id']); + if (empty($result)) { + engelsystem_error('Unable to delete shifttype.'); + } + + engelsystem_log('Deleted shifttype ' . $shifttype['name']); + success(sprintf(_('Shifttype %s deleted.'), $shifttype['name'])); + redirect(page_link_to('shifttypes')); } - - if (isset($_REQUEST['description'])) { - $description = strip_request_item_nl('description'); + + return [ + sprintf(_('Delete shifttype %s'), $shifttype['name']), + ShiftType_delete_view($shifttype) + ]; +} + +/** + * Edit or create shift type. + * + * @return array + */ +function shifttype_edit_controller() +{ + $shifttype_id = null; + $name = ''; + $angeltype_id = null; + $description = ''; + + $angeltypes = AngelTypes(); + + if (isset($_REQUEST['shifttype_id'])) { + $shifttype = ShiftType($_REQUEST['shifttype_id']); + if ($shifttype == null) { + error(_('Shifttype not found.')); + redirect(page_link_to('shifttypes')); + } + $shifttype_id = $shifttype['id']; + $name = $shifttype['name']; + $angeltype_id = $shifttype['angeltype_id']; + $description = $shifttype['description']; } - - if ($valid) { - if ($shifttype_id) { - $result = ShiftType_update($shifttype_id, $name, $angeltype_id, $description); - if ($result === false) { - engelsystem_error('Unable to update shifttype.'); + + if (isset($_REQUEST['submit'])) { + $valid = true; + + if (isset($_REQUEST['name']) && $_REQUEST['name'] != '') { + $name = strip_request_item('name'); + } else { + $valid = false; + error(_('Please enter a name.')); + } + + if (isset($_REQUEST['angeltype_id']) && preg_match('/^\d+$/', $_REQUEST['angeltype_id'])) { + $angeltype_id = $_REQUEST['angeltype_id']; + } else { + $angeltype_id = null; } - engelsystem_log('Updated shifttype ' . $name); - success(_('Updated shifttype.')); - } else { - $shifttype_id = ShiftType_create($name, $angeltype_id, $description); - if ($shifttype_id === false) { - engelsystem_error('Unable to create shifttype.'); + + if (isset($_REQUEST['description'])) { + $description = strip_request_item_nl('description'); + } + + if ($valid) { + if ($shifttype_id) { + $result = ShiftType_update($shifttype_id, $name, $angeltype_id, $description); + if ($result === false) { + engelsystem_error('Unable to update shifttype.'); + } + engelsystem_log('Updated shifttype ' . $name); + success(_('Updated shifttype.')); + } else { + $shifttype_id = ShiftType_create($name, $angeltype_id, $description); + if ($shifttype_id === false) { + engelsystem_error('Unable to create shifttype.'); + } + engelsystem_log('Created shifttype ' . $name); + success(_('Created shifttype.')); + } + redirect(page_link_to('shifttypes') . '&action=view&shifttype_id=' . $shifttype_id); } - engelsystem_log('Created shifttype ' . $name); - success(_('Created shifttype.')); - } - redirect(page_link_to('shifttypes') . '&action=view&shifttype_id=' . $shifttype_id); } - } - - return [ - shifttypes_title(), - ShiftType_edit_view($name, $angeltype_id, $angeltypes, $description, $shifttype_id) - ]; + + return [ + shifttypes_title(), + ShiftType_edit_view($name, $angeltype_id, $angeltypes, $description, $shifttype_id) + ]; } -function shifttype_controller() { - if (! isset($_REQUEST['shifttype_id'])) { - redirect(page_link_to('shifttypes')); - } - $shifttype = ShiftType($_REQUEST['shifttype_id']); - if ($shifttype === false) { - engelsystem_error('Unable to load shifttype.'); - } - if ($shifttype == null) { - redirect(page_link_to('shifttypes')); - } - - $angeltype = null; - if ($shifttype['angeltype_id'] != null) { - $angeltype = AngelType($shifttype['angeltype_id']); - } - - return [ - $shifttype['name'], - ShiftType_view($shifttype, $angeltype) - ]; +/** + * @return array + */ +function shifttype_controller() +{ + if (!isset($_REQUEST['shifttype_id'])) { + redirect(page_link_to('shifttypes')); + } + $shifttype = ShiftType($_REQUEST['shifttype_id']); + if ($shifttype == null) { + redirect(page_link_to('shifttypes')); + } + + $angeltype = null; + if ($shifttype['angeltype_id'] != null) { + $angeltype = AngelType($shifttype['angeltype_id']); + } + + return [ + $shifttype['name'], + ShiftType_view($shifttype, $angeltype) + ]; } /** * List all shift types. + * + * @return array */ -function shifttypes_list_controller() { - $shifttypes = ShiftTypes(); - if ($shifttypes === false) { - engelsystem_error("Unable to load shifttypes."); - } - - return [ - shifttypes_title(), - ShiftTypes_list_view($shifttypes) - ]; +function shifttypes_list_controller() +{ + $shifttypes = ShiftTypes(); + if ($shifttypes === false) { + engelsystem_error('Unable to load shifttypes.'); + } + + return [ + shifttypes_title(), + ShiftTypes_list_view($shifttypes) + ]; } /** * Text for shift type related links. + * + * @return string */ -function shifttypes_title() { - return _("Shifttypes"); +function shifttypes_title() +{ + return _('Shifttypes'); } /** * Route shift type actions + * + * @return array */ -function shifttypes_controller() { - if (! isset($_REQUEST['action'])) { - $_REQUEST['action'] = 'list'; - } - - switch ($_REQUEST['action']) { - default: - case 'list': - return shifttypes_list_controller(); - case 'view': - return shifttype_controller(); - case 'edit': - return shifttype_edit_controller(); - case 'delete': - return shifttype_delete_controller(); - } -} +function shifttypes_controller() +{ + if (!isset($_REQUEST['action'])) { + $_REQUEST['action'] = 'list'; + } -?>
\ No newline at end of file + switch ($_REQUEST['action']) { + case 'view': + return shifttype_controller(); + case 'edit': + return shifttype_edit_controller(); + case 'delete': + return shifttype_delete_controller(); + case 'list': + default: + return shifttypes_list_controller(); + } +} |