X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/timetracker.git/blobdiff_plain/a8a4278a6a87c600835890a10c774dfdc58e930a..8bc57bab34ec45117348070eec17fb3d00f327fd:/time_delete.php diff --git a/time_delete.php b/time_delete.php index ec3c677c..a7b802b6 100644 --- a/time_delete.php +++ b/time_delete.php @@ -32,17 +32,19 @@ import('ttUserHelper'); import('ttTimeHelper'); import('DateAndTime'); -// Access check. +// Access checks. if (!(ttAccessAllowed('track_own_time') || ttAccessAllowed('track_time'))) { header('Location: access_denied.php'); exit(); } - -$cl_id = $request->getParameter('id'); -$time_rec = ttTimeHelper::getRecord($cl_id, $user->getActiveUser()); - -// Prohibit deleting invoiced records. -if ($time_rec['invoice_id']) die($i18n->get('error.sys')); +$cl_id = (int)$request->getParameter('id'); +$time_rec = ttTimeHelper::getRecord($cl_id); +if (!$time_rec || $time_rec['approved'] || $time_rec['timesheet_id'] || $time_rec['invoice_id']) { + // Prohibit deleting not ours, approved, assigned to timesheet, or invoiced records. + header('Location: access_denied.php'); + exit(); +} +// End of access checks. // Escape comment for presentation. $time_rec['comment'] = htmlspecialchars($time_rec['comment']); @@ -60,11 +62,8 @@ if ($request->isPost()) { $err->add($i18n->get('error.range_locked')); if ($err->no()) { - // Delete the record. - $result = ttTimeHelper::delete($cl_id, $user->getActiveUser()); - - if ($result) { + if (ttTimeHelper::delete($cl_id)) { header('Location: time.php'); exit(); } else {