X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=expense_delete.php;h=49bb8ac1be508c94c08edcfe84f7af89ea2050e3;hb=556948c09b8116728275f9933716a153216abe31;hp=d17f251e9a24457865012dcd3c5488eb2d167d89;hpb=8ccdc0ed79c1703162607702c6846d2c76a7a755;p=timetracker.git diff --git a/expense_delete.php b/expense_delete.php index d17f251e..49bb8ac1 100644 --- a/expense_delete.php +++ b/expense_delete.php @@ -31,17 +31,23 @@ import('form.Form'); import('DateAndTime'); import('ttExpenseHelper'); -// Access check. -if (!ttAccessAllowed('data_entry') || !$user->isPluginEnabled('ex')) { +// Access checks. +if (!(ttAccessAllowed('track_own_expenses') || ttAccessAllowed('track_expenses'))) { header('Location: access_denied.php'); exit(); } - -$cl_id = $request->getParameter('id'); +if (!$user->isPluginEnabled('ex')) { + header('Location: feature_disabled.php'); + exit(); +} +$cl_id = (int)$request->getParameter('id'); +// Get the expense item we are deleting. $expense_item = ttExpenseHelper::getItem($cl_id, $user->getActiveUser()); - -// Prohibit deleting invoiced records. -if ($expense_item['invoice_id']) die($i18n->getKey('error.sys')); +if (!$expense_item || $expense_item['invoice_id']) { + // Prohibit deleting not ours or invoiced items. + header('Location: access_denied.php'); + exit(); +} if ($request->isPost()) { if ($request->getParameter('delete_button')) { // Delete button pressed. @@ -49,7 +55,7 @@ if ($request->isPost()) { // Determine if it is okay to delete the record. $item_date = new DateAndTime(DB_DATEFORMAT, $expense_item['date']); if ($user->isDateLocked($item_date)) - $err->add($i18n->getKey('error.range_locked')); + $err->add($i18n->get('error.range_locked')); if ($err->no()) { // Mark the record as deleted. @@ -57,7 +63,7 @@ if ($request->isPost()) { header('Location: expenses.php'); exit(); } else - $err->add($i18n->getKey('error.db')); + $err->add($i18n->get('error.db')); } } if ($request->getParameter('cancel_button')) { // Cancel button pressed. @@ -68,11 +74,11 @@ if ($request->isPost()) { $form = new Form('expenseItemForm'); $form->addInput(array('type'=>'hidden','name'=>'id','value'=>$cl_id)); -$form->addInput(array('type'=>'submit','name'=>'delete_button','value'=>$i18n->getKey('label.delete'))); -$form->addInput(array('type'=>'submit','name'=>'cancel_button','value'=>$i18n->getKey('button.cancel'))); +$form->addInput(array('type'=>'submit','name'=>'delete_button','value'=>$i18n->get('label.delete'))); +$form->addInput(array('type'=>'submit','name'=>'cancel_button','value'=>$i18n->get('button.cancel'))); $smarty->assign('expense_item', $expense_item); $smarty->assign('forms', array($form->getName() => $form->toArray())); -$smarty->assign('title', $i18n->getKey('title.delete_expense')); +$smarty->assign('title', $i18n->get('title.delete_expense')); $smarty->assign('content_page_name', 'expense_delete.tpl'); $smarty->display('index.tpl');