From 0a74ab94a8ebc93a7624e0bef90dfd7d8024deaa Mon Sep 17 00:00:00 2001 From: Philip Häusler Date: Sun, 7 Dec 2014 17:07:19 +0100 Subject: add shift entry delete model --- includes/model/ShiftEntry_model.php | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'includes/model/ShiftEntry_model.php') diff --git a/includes/model/ShiftEntry_model.php b/includes/model/ShiftEntry_model.php index 20d0946f..f84b312f 100644 --- a/includes/model/ShiftEntry_model.php +++ b/includes/model/ShiftEntry_model.php @@ -7,9 +7,12 @@ function ShiftEntries_freeleaded_count() { return sql_select_single_cell("SELECT COUNT(*) FROM `ShiftEntry` WHERE `freeloaded` = 1"); } +/** + * List users subsribed to a given shift. + */ function ShiftEntries_by_shift($shift_id) { return sql_select(" - SELECT `User`.`email`, `User`.`email_shiftinfo`, `User`.`Sprache`, `ShiftEntry`.`UID`, `ShiftEntry`.`TID`, `ShiftEntry`.`SID`, `AngelTypes`.`name` as `angel_type_name`, `ShiftEntry`.`Comment`, `ShiftEntry`.`freeloaded` + SELECT `User`.`Nick`, `User`.`email`, `User`.`email_shiftinfo`, `User`.`Sprache`, `ShiftEntry`.`UID`, `ShiftEntry`.`TID`, `ShiftEntry`.`SID`, `AngelTypes`.`name` as `angel_type_name`, `ShiftEntry`.`Comment`, `ShiftEntry`.`freeloaded` FROM `ShiftEntry` JOIN `User` ON `ShiftEntry`.`UID`=`User`.`UID` JOIN `AngelTypes` ON `ShiftEntry`.`TID`=`AngelTypes`.`id` @@ -31,6 +34,13 @@ function ShiftEntry_create($shift_entry) { `freeloaded`=" . sql_escape($shift_entry['freeloaded'] ? 'TRUE' : 'FALSE')); } +/** + * Delete a shift entry. + */ +function ShiftEntry_delete($shift_entry_id) { + return sql_query("DELETE FROM `ShiftEntry` WHERE `id`=" . sql_escape($shift_entry_id)); +} + /** * Returns next (or current) shifts of given user. * -- cgit v1.2.3-54-g00ecf From 156db1eadd905c7ee4c7c37dc246c8c689ae2396 Mon Sep 17 00:00:00 2001 From: Philip Häusler Date: Sun, 7 Dec 2014 17:13:14 +0100 Subject: add shift entry update model --- includes/model/ShiftEntry_model.php | 11 +++++++++++ includes/pages/admin_user.php | 1 - includes/pages/user_myshifts.php | 15 +++++++++------ 3 files changed, 20 insertions(+), 7 deletions(-) (limited to 'includes/model/ShiftEntry_model.php') diff --git a/includes/model/ShiftEntry_model.php b/includes/model/ShiftEntry_model.php index f84b312f..903bc544 100644 --- a/includes/model/ShiftEntry_model.php +++ b/includes/model/ShiftEntry_model.php @@ -34,6 +34,17 @@ function ShiftEntry_create($shift_entry) { `freeloaded`=" . sql_escape($shift_entry['freeloaded'] ? 'TRUE' : 'FALSE')); } +/** + * Update a shift entry. + */ +function ShiftEntry_update($shift_entry) { + return sql_query("UPDATE `ShiftEntry` SET + `Comment`='" . sql_escape($shift_entry['Comment']) . "', + `freeload_comment`='" . sql_escape($shift_entry['freeload_comment']) . "', + `freeloaded`=" . sql_escape($shift_entry['freeloaded'] ? 'TRUE' : 'FALSE') . " + WHERE `id`=" . sql_escape($shift_entry['id'])); +} + /** * Delete a shift entry. */ diff --git a/includes/pages/admin_user.php b/includes/pages/admin_user.php index 87190857..4e10ca1e 100644 --- a/includes/pages/admin_user.php +++ b/includes/pages/admin_user.php @@ -215,7 +215,6 @@ function admin_user() { $user_source = sql_select("SELECT `Nick`, `UID` FROM `User` WHERE `UID` = '" . sql_escape($id) . "' LIMIT 1"); sql_query("DELETE FROM `User` WHERE `UID`=" . sql_escape($id) . " LIMIT 1"); sql_query("DELETE FROM `UserGroups` WHERE `uid`=" . sql_escape($id)); - sql_query("UPDATE `ShiftEntry` SET `UID`=0, `Comment`=NULL WHERE `UID`=" . sql_escape($id)); engelsystem_log("Deleted user " . User_Nick_render($user_source)); $html .= success("Benutzer gelöscht!", true); } else { diff --git a/includes/pages/user_myshifts.php b/includes/pages/user_myshifts.php index 41ea9381..d74475d2 100644 --- a/includes/pages/user_myshifts.php +++ b/includes/pages/user_myshifts.php @@ -57,12 +57,15 @@ function user_myshifts() { $comment = strip_request_item_nl('comment'); $user_source = User($shift['UID']); - sql_query("UPDATE `ShiftEntry` SET - `Comment`='" . sql_escape($comment) . "', - `freeloaded`=" . sql_escape($freeloaded ? 1 : 0) . ", - `freeload_comment`='" . sql_escape($freeload_comment) . "' - WHERE `id`=" . sql_escape($id) . " - LIMIT 1"); + $result = ShiftEntry_update(array( + 'id' => $id, + 'Comment' => $comment, + 'freeloaded' => $freeloaded, + 'freeload_comment' => $freeload_comment + )); + if ($result === false) + engelsystem_error('Unable to update shift entr.'); + engelsystem_log("Updated " . User_Nick_render($user_source) . "'s shift " . $shift['name'] . " from " . date("y-m-d H:i", $shift['start']) . " to " . date("y-m-d H:i", $shift['end']) . " with comment " . $comment); success(_("Shift saved.")); redirect(page_link_to('users') . '&action=view&user_id=' . $shifts_user['UID']); -- cgit v1.2.3-54-g00ecf