diff options
author | Philip Häusler <msquare@notrademark.de> | 2014-12-16 09:55:14 +0100 |
---|---|---|
committer | Philip Häusler <msquare@notrademark.de> | 2014-12-17 14:59:41 +0100 |
commit | 526167ed11a9e13d20698029bc08f13cd574d946 (patch) | |
tree | 447f31a6caf2d27532eaf62319fdb59845f78125 /includes/controller | |
parent | c8cc46886b4a163f9408df80c3bfbdcfa4ae2f7b (diff) |
add create shift type
Diffstat (limited to 'includes/controller')
-rw-r--r-- | includes/controller/shifttypes_controller.php | 61 |
1 files changed, 54 insertions, 7 deletions
diff --git a/includes/controller/shifttypes_controller.php b/includes/controller/shifttypes_controller.php index 6d061111..aaefaa33 100644 --- a/includes/controller/shifttypes_controller.php +++ b/includes/controller/shifttypes_controller.php @@ -3,26 +3,70 @@ function shifttype_delete_controller() { } +/** + * Edit or create shift type. + */ function shifttype_edit_controller() { + $shifttype_id = null; + $name = ""; + $angeltype_id = null; + $description = ""; + + $angeltypes = AngelTypes(); + if ($angeltypes === false) + engelsystem_error("Unable to load angel types."); + + if (isset($_REQUEST['submit'])) { + $ok = true; + + if (isset($_REQUEST['name']) && $_REQUEST['name'] != '') + $name = strip_request_item('name'); + else { + $ok = false; + error(_('Please enter a name.')); + } + + if (isset($_REQUEST['angeltype_id']) && preg_match("/^[0-9]+$/", $_REQUEST['angeltype_id'])) + $angeltype_id = $_REQUEST['angeltype_id']; + else + $angeltype_id = null; + + if (isset($_REQUEST['description'])) + $description = strip_request_item_nl('description'); + + if ($ok) { + if ($shifttype_id) {} else { + $shifttype_id = ShiftType_create($name, $angeltype_id, $description); + if ($shifttype_id === false) + engelsystem_error('Unable to create shift type.'); + 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) + ]; } function shifttype_controller() { } +/** + * List all shift types. + */ function shifttypes_list_controller() { - global $privileges, $user; - - if (! in_array('shifttypes', $privileges)) - redirect('?'); - $shifttypes = ShiftTypes(); if ($shifttypes === false) engelsystem_error("Unable to load shifttypes."); - return array( + return [ shifttypes_title(), ShiftTypes_list_view($shifttypes) - ); + ]; } /** @@ -32,6 +76,9 @@ function shifttypes_title() { return _("Shifttypes"); } +/** + * Route shift type actions + */ function shifttypes_controller() { if (! isset($_REQUEST['action'])) $_REQUEST['action'] = 'list'; |