add create shift type
This commit is contained in:
parent
c8cc46886b
commit
526167ed11
|
@ -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';
|
||||
|
|
|
@ -4,6 +4,25 @@ function ShiftType_delete_view($shifttype) {
|
|||
}
|
||||
|
||||
function ShiftType_edit_view($name, $angeltype_id, $angeltypes, $description, $shifttype_id) {
|
||||
$angeltypes_select = [
|
||||
'' => _('All')
|
||||
];
|
||||
foreach ($angeltypes as $angeltype)
|
||||
$angeltypes_select[$angeltype['id']] = $angeltype['name'];
|
||||
|
||||
return page_with_title($shifttype_id ? _('Edit shifttype') : _('Create shifttype'), [
|
||||
msg(),
|
||||
buttons([
|
||||
button(page_link_to('shifttypes'), shifttypes_title(), 'back')
|
||||
]),
|
||||
form([
|
||||
form_text('name', _('Name'), $name),
|
||||
form_select('angeltype_id', _('Angeltype'), $angeltypes_select, $angeltype_id),
|
||||
form_textarea('description', _('Description'), $description),
|
||||
form_info('', _('Please use markdown for the description.')),
|
||||
form_submit('submit', _('Save'))
|
||||
])
|
||||
]);
|
||||
}
|
||||
|
||||
function ShiftType_view($shifttype) {
|
||||
|
@ -12,21 +31,21 @@ function ShiftType_view($shifttype) {
|
|||
function ShiftTypes_list_view($shifttypes) {
|
||||
foreach ($shifttypes as &$shifttype) {
|
||||
$shifttype['actions'] = table_buttons([
|
||||
button(page_link_to('shifttypes') . '&action=edit&shifttype_id=' . $shifttype['id'], _("edit"), "btn-xs"),
|
||||
button(page_link_to('shifttypes') . '&action=delete&shifttype_id=' . $shifttypes['id'], _("delete"), "btn-xs")
|
||||
button(page_link_to('shifttypes') . '&action=edit&shifttype_id=' . $shifttype['id'], _('edit'), 'btn-xs'),
|
||||
button(page_link_to('shifttypes') . '&action=delete&shifttype_id=' . $shifttype['id'], _('delete'), 'btn-xs')
|
||||
]);
|
||||
}
|
||||
|
||||
return page_with_title(shifttypes_title(), array(
|
||||
return page_with_title(shifttypes_title(), [
|
||||
msg(),
|
||||
buttons(array(
|
||||
button(page_link_to('shifttypes') . '&action=edit', _("New shifttype"), 'add')
|
||||
)),
|
||||
table(array(
|
||||
'name' => _("Name"),
|
||||
'actions' => ""
|
||||
), $shifttypes)
|
||||
));
|
||||
buttons([
|
||||
button(page_link_to('shifttypes') . '&action=edit', _('New shifttype'), 'add')
|
||||
]),
|
||||
table([
|
||||
'name' => _('Name'),
|
||||
'actions' => ''
|
||||
], $shifttypes)
|
||||
]);
|
||||
}
|
||||
|
||||
?>
|
Loading…
Reference in New Issue