reduce complexity of shifts controller
This commit is contained in:
parent
a50b26490c
commit
27c9650dc4
|
@ -50,9 +50,6 @@ function angeltypes_about_controller() {
|
||||||
} else {
|
} else {
|
||||||
$angeltypes = AngelTypes();
|
$angeltypes = AngelTypes();
|
||||||
}
|
}
|
||||||
if ($angeltypes === false) {
|
|
||||||
engelsystem_error("Unable to load angeltypes.");
|
|
||||||
}
|
|
||||||
|
|
||||||
return [
|
return [
|
||||||
_("Teams/Job description"),
|
_("Teams/Job description"),
|
||||||
|
@ -223,9 +220,6 @@ function angeltypes_list_controller() {
|
||||||
}
|
}
|
||||||
|
|
||||||
$angeltypes = AngelTypes_with_user($user);
|
$angeltypes = AngelTypes_with_user($user);
|
||||||
if ($angeltypes === false) {
|
|
||||||
engelsystem_error("Unable to load angeltypes.");
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach ($angeltypes as &$angeltype) {
|
foreach ($angeltypes as &$angeltype) {
|
||||||
$actions = [
|
$actions = [
|
||||||
|
|
|
@ -21,9 +21,6 @@ function shift_entry_add_controller() {
|
||||||
|
|
||||||
$shift = Shift($shift_id);
|
$shift = Shift($shift_id);
|
||||||
$shift['Name'] = $room_array[$shift['RID']];
|
$shift['Name'] = $room_array[$shift['RID']];
|
||||||
if ($shift === false) {
|
|
||||||
engelsystem_error('Unable to load shift.');
|
|
||||||
}
|
|
||||||
if ($shift == null) {
|
if ($shift == null) {
|
||||||
redirect(page_link_to('user_shifts'));
|
redirect(page_link_to('user_shifts'));
|
||||||
}
|
}
|
||||||
|
|
|
@ -159,19 +159,13 @@ function shift_delete_controller() {
|
||||||
$shift_id = $_REQUEST['delete_shift'];
|
$shift_id = $_REQUEST['delete_shift'];
|
||||||
|
|
||||||
$shift = Shift($shift_id);
|
$shift = Shift($shift_id);
|
||||||
if ($shift === false) {
|
|
||||||
engelsystem_error('Unable to load shift.');
|
|
||||||
}
|
|
||||||
if ($shift == null) {
|
if ($shift == null) {
|
||||||
redirect(page_link_to('user_shifts'));
|
redirect(page_link_to('user_shifts'));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Schicht löschen bestätigt
|
// Schicht löschen bestätigt
|
||||||
if (isset($_REQUEST['delete'])) {
|
if (isset($_REQUEST['delete'])) {
|
||||||
$result = Shift_delete($shift_id);
|
Shift_delete($shift_id);
|
||||||
if ($result === false) {
|
|
||||||
engelsystem_error('Unable to delete shift.');
|
|
||||||
}
|
|
||||||
|
|
||||||
engelsystem_log("Deleted shift " . $shift['name'] . " from " . date("Y-m-d H:i", $shift['start']) . " to " . date("Y-m-d H:i", $shift['end']));
|
engelsystem_log("Deleted shift " . $shift['name'] . " from " . date("Y-m-d H:i", $shift['start']) . " to " . date("Y-m-d H:i", $shift['end']));
|
||||||
success(_("Shift deleted."));
|
success(_("Shift deleted."));
|
||||||
|
@ -196,33 +190,15 @@ function shift_controller() {
|
||||||
}
|
}
|
||||||
|
|
||||||
$shift = Shift($_REQUEST['shift_id']);
|
$shift = Shift($_REQUEST['shift_id']);
|
||||||
if ($shift === false) {
|
|
||||||
engelsystem_error('Unable to load shift.');
|
|
||||||
}
|
|
||||||
if ($shift == null) {
|
if ($shift == null) {
|
||||||
error(_('Shift could not be found.'));
|
error(_("Shift could not be found."));
|
||||||
redirect(page_link_to('user_shifts'));
|
redirect(page_link_to('user_shifts'));
|
||||||
}
|
}
|
||||||
|
|
||||||
$shifttype = ShiftType($shift['shifttype_id']);
|
$shifttype = ShiftType($shift['shifttype_id']);
|
||||||
if ($shifttype === false || $shifttype == null) {
|
|
||||||
engelsystem_error('Unable to load shift type.');
|
|
||||||
}
|
|
||||||
|
|
||||||
$room = Room($shift['RID']);
|
$room = Room($shift['RID']);
|
||||||
if ($room === false || $room == null) {
|
|
||||||
engelsystem_error('Unable to load room.');
|
|
||||||
}
|
|
||||||
|
|
||||||
$angeltypes = AngelTypes();
|
$angeltypes = AngelTypes();
|
||||||
if ($angeltypes === false) {
|
|
||||||
engelsystem_error('Unable to load angeltypes.');
|
|
||||||
}
|
|
||||||
|
|
||||||
$user_shifts = Shifts_by_user($user);
|
$user_shifts = Shifts_by_user($user);
|
||||||
if ($user_shifts === false) {
|
|
||||||
engelsystem_error('Unable to load users shifts.');
|
|
||||||
}
|
|
||||||
|
|
||||||
$signed_up = false;
|
$signed_up = false;
|
||||||
foreach ($user_shifts as $user_shift) {
|
foreach ($user_shifts as $user_shift) {
|
||||||
|
|
|
@ -48,9 +48,6 @@ function shifttype_edit_controller() {
|
||||||
$description = "";
|
$description = "";
|
||||||
|
|
||||||
$angeltypes = AngelTypes();
|
$angeltypes = AngelTypes();
|
||||||
if ($angeltypes === false) {
|
|
||||||
engelsystem_error("Unable to load angel types.");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset($_REQUEST['shifttype_id'])) {
|
if (isset($_REQUEST['shifttype_id'])) {
|
||||||
$shifttype = ShiftType($_REQUEST['shifttype_id']);
|
$shifttype = ShiftType($_REQUEST['shifttype_id']);
|
||||||
|
|
|
@ -91,7 +91,7 @@ function AngelType_validate_name($name, $angeltype) {
|
||||||
* @param User $user
|
* @param User $user
|
||||||
*/
|
*/
|
||||||
function AngelTypes_with_user($user) {
|
function AngelTypes_with_user($user) {
|
||||||
return sql_select("
|
$result = sql_select("
|
||||||
SELECT `AngelTypes`.*,
|
SELECT `AngelTypes`.*,
|
||||||
`UserAngelTypes`.`id` as `user_angeltype_id`,
|
`UserAngelTypes`.`id` as `user_angeltype_id`,
|
||||||
`UserAngelTypes`.`confirm_user_id`,
|
`UserAngelTypes`.`confirm_user_id`,
|
||||||
|
@ -100,16 +100,24 @@ function AngelTypes_with_user($user) {
|
||||||
LEFT JOIN `UserAngelTypes` ON `AngelTypes`.`id`=`UserAngelTypes`.`angeltype_id`
|
LEFT JOIN `UserAngelTypes` ON `AngelTypes`.`id`=`UserAngelTypes`.`angeltype_id`
|
||||||
AND `UserAngelTypes`.`user_id`=" . $user['UID'] . "
|
AND `UserAngelTypes`.`user_id`=" . $user['UID'] . "
|
||||||
ORDER BY `name`");
|
ORDER BY `name`");
|
||||||
|
if ($result === false) {
|
||||||
|
engelsystem_error("Unable to load angeltypes.");
|
||||||
|
}
|
||||||
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns all angeltypes.
|
* Returns all angeltypes.
|
||||||
*/
|
*/
|
||||||
function AngelTypes() {
|
function AngelTypes() {
|
||||||
return sql_select("
|
$result = sql_select("
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM `AngelTypes`
|
FROM `AngelTypes`
|
||||||
ORDER BY `name`");
|
ORDER BY `name`");
|
||||||
|
if ($result === false) {
|
||||||
|
engelsystem_error("Unable to load angeltypes.");
|
||||||
|
}
|
||||||
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -51,7 +51,7 @@ function ShiftType_create($name, $angeltype_id, $description) {
|
||||||
function ShiftType($shifttype_id) {
|
function ShiftType($shifttype_id) {
|
||||||
$shifttype = sql_select("SELECT * FROM `ShiftTypes` WHERE `id`='" . sql_escape($shifttype_id) . "'");
|
$shifttype = sql_select("SELECT * FROM `ShiftTypes` WHERE `id`='" . sql_escape($shifttype_id) . "'");
|
||||||
if ($shifttype === false) {
|
if ($shifttype === false) {
|
||||||
return false;
|
engelsystem_error('Unable to load shift type.');
|
||||||
}
|
}
|
||||||
if ($shifttype == null) {
|
if ($shifttype == null) {
|
||||||
return null;
|
return null;
|
||||||
|
|
|
@ -93,9 +93,6 @@ function Shift_signup_allowed($shift, $angeltype, $user_angeltype = null, $user_
|
||||||
|
|
||||||
if ($user_shifts == null) {
|
if ($user_shifts == null) {
|
||||||
$user_shifts = Shifts_by_user($user);
|
$user_shifts = Shifts_by_user($user);
|
||||||
if ($user_shifts === false) {
|
|
||||||
engelsystem_error('Unable to load users shifts.');
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$collides = Shift_collides($shift, $user_shifts);
|
$collides = Shift_collides($shift, $user_shifts);
|
||||||
|
@ -166,7 +163,11 @@ function Shift_delete_by_psid($shift_psid) {
|
||||||
function Shift_delete($shift_id) {
|
function Shift_delete($shift_id) {
|
||||||
mail_shift_delete(Shift($shift_id));
|
mail_shift_delete(Shift($shift_id));
|
||||||
|
|
||||||
return sql_query("DELETE FROM `Shifts` WHERE `SID`='" . sql_escape($shift_id) . "'");
|
$result = sql_query("DELETE FROM `Shifts` WHERE `SID`='" . sql_escape($shift_id) . "'");
|
||||||
|
if ($result === false) {
|
||||||
|
engelsystem_error('Unable to delete shift.');
|
||||||
|
}
|
||||||
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -232,7 +233,7 @@ function Shift_create($shift) {
|
||||||
* Return users shifts.
|
* Return users shifts.
|
||||||
*/
|
*/
|
||||||
function Shifts_by_user($user) {
|
function Shifts_by_user($user) {
|
||||||
return sql_select("
|
$result = sql_select("
|
||||||
SELECT `ShiftTypes`.`id` as `shifttype_id`, `ShiftTypes`.`name`, `ShiftEntry`.*, `Shifts`.*, `Room`.*
|
SELECT `ShiftTypes`.`id` as `shifttype_id`, `ShiftTypes`.`name`, `ShiftEntry`.*, `Shifts`.*, `Room`.*
|
||||||
FROM `ShiftEntry`
|
FROM `ShiftEntry`
|
||||||
JOIN `Shifts` ON (`ShiftEntry`.`SID` = `Shifts`.`SID`)
|
JOIN `Shifts` ON (`ShiftEntry`.`SID` = `Shifts`.`SID`)
|
||||||
|
@ -241,6 +242,10 @@ function Shifts_by_user($user) {
|
||||||
WHERE `UID`='" . sql_escape($user['UID']) . "'
|
WHERE `UID`='" . sql_escape($user['UID']) . "'
|
||||||
ORDER BY `start`
|
ORDER BY `start`
|
||||||
");
|
");
|
||||||
|
if ($result === false) {
|
||||||
|
engelsystem_error('Unable to load users shifts.');
|
||||||
|
}
|
||||||
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -304,27 +309,29 @@ function Shift($shift_id) {
|
||||||
$shiftsEntry_source = sql_select("SELECT `id`, `TID` , `UID` , `freeloaded` FROM `ShiftEntry` WHERE `SID`='" . sql_escape($shift_id) . "'");
|
$shiftsEntry_source = sql_select("SELECT `id`, `TID` , `UID` , `freeloaded` FROM `ShiftEntry` WHERE `SID`='" . sql_escape($shift_id) . "'");
|
||||||
|
|
||||||
if ($shifts_source === false) {
|
if ($shifts_source === false) {
|
||||||
return false;
|
engelsystem_error('Unable to load shift.');
|
||||||
}
|
}
|
||||||
if (count($shifts_source) > 0) {
|
|
||||||
$result = $shifts_source[0];
|
|
||||||
|
|
||||||
$result['ShiftEntry'] = $shiftsEntry_source;
|
if (empty($shifts_source)) {
|
||||||
$result['NeedAngels'] = [];
|
return null;
|
||||||
|
|
||||||
$temp = NeededAngelTypes_by_shift($shift_id);
|
|
||||||
foreach ($temp as $e) {
|
|
||||||
$result['NeedAngels'][] = [
|
|
||||||
'TID' => $e['angel_type_id'],
|
|
||||||
'count' => $e['count'],
|
|
||||||
'restricted' => $e['restricted'],
|
|
||||||
'taken' => $e['taken']
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
return $result;
|
|
||||||
}
|
}
|
||||||
return null;
|
|
||||||
|
$result = $shifts_source[0];
|
||||||
|
|
||||||
|
$result['ShiftEntry'] = $shiftsEntry_source;
|
||||||
|
$result['NeedAngels'] = [];
|
||||||
|
|
||||||
|
$temp = NeededAngelTypes_by_shift($shift_id);
|
||||||
|
foreach ($temp as $e) {
|
||||||
|
$result['NeedAngels'][] = [
|
||||||
|
'TID' => $e['angel_type_id'],
|
||||||
|
'count' => $e['count'],
|
||||||
|
'restricted' => $e['restricted'],
|
||||||
|
'taken' => $e['taken']
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue