From d71b27b78b29a2ed725a6e631bf8085bde257f18 Mon Sep 17 00:00:00 2001 From: Igor Scheller Date: Sat, 7 Sep 2019 00:41:48 +0200 Subject: Shifts: Save time as worklog if past shift gets deleted --- includes/model/Shifts_model.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'includes/model/Shifts_model.php') diff --git a/includes/model/Shifts_model.php b/includes/model/Shifts_model.php index 6bb17cf2..2408eb49 100644 --- a/includes/model/Shifts_model.php +++ b/includes/model/Shifts_model.php @@ -508,8 +508,8 @@ function Shift_delete_by_psid($shift_psid) */ function Shift_delete($shift_id) { - DB::delete('DELETE FROM `Shifts` WHERE `SID`=?', [$shift_id]); mail_shift_delete(Shift($shift_id)); + DB::delete('DELETE FROM `Shifts` WHERE `SID`=?', [$shift_id]); } /** -- cgit v1.3.1 From 85e440339267859f9d3f70183c32f9443ca9a27a Mon Sep 17 00:00:00 2001 From: Igor Scheller Date: Sat, 7 Sep 2019 01:44:15 +0200 Subject: Rooms: Save times as Worklog and notify on room deletion --- includes/model/Shifts_model.php | 7 +++++-- includes/pages/admin_rooms.php | 9 ++++++++- 2 files changed, 13 insertions(+), 3 deletions(-) (limited to 'includes/model/Shifts_model.php') diff --git a/includes/model/Shifts_model.php b/includes/model/Shifts_model.php index 2408eb49..01295fbc 100644 --- a/includes/model/Shifts_model.php +++ b/includes/model/Shifts_model.php @@ -80,12 +80,15 @@ function Shifts_from_frab() } /** - * @param array $room + * @param array|int $room * @return array[] */ function Shifts_by_room($room) { - return DB::select('SELECT * FROM `Shifts` WHERE `RID`=? ORDER BY `start`', [$room['RID']]); + return DB::select( + 'SELECT * FROM `Shifts` WHERE `RID`=? ORDER BY `start`', + [is_array($room) ? $room['RID'] : $room] + ); } /** diff --git a/includes/pages/admin_rooms.php b/includes/pages/admin_rooms.php index bc0eb651..c55eb227 100644 --- a/includes/pages/admin_rooms.php +++ b/includes/pages/admin_rooms.php @@ -179,9 +179,16 @@ function admin_rooms() ]); } elseif ($request->input('show') == 'delete') { if ($request->hasPostData('ack')) { + $shifts = Shifts_by_room($room_id); + foreach ($shifts as $shift) { + $shift = Shift($shift['SID']); + + UserWorkLog_from_shift($shift); + mail_shift_delete($shift); + } + Room_delete($room_id); - engelsystem_log('Room deleted: ' . $name); success(sprintf(__('Room %s deleted.'), $name)); redirect(page_link_to('admin_rooms')); } -- cgit v1.3.1