Commit cb055bf6 authored by Jean-Paul Saman's avatar Jean-Paul Saman

Deleting of timesheet works

parent a67eea8b
......@@ -72,10 +72,10 @@ $titleBlock->show();
// some javaScript code to submit the form and set the delete object flag for the form processing
?>
<script language="javascript">
<script language="javascript" type="text/javascript">
function delIt(id) {
if (confirm( "<?php echo $AppUI->_('Really delete this timesheet ?');?>" )) {
if (confirm( "<?php echo $AppUI->_('Really delete this timesheet ?', UI_OUPUT_JS);?>" )) {
var f = document.editFrm;
f.del.value='1';
f.submit();
......
<?php
/*
* Copyright (C) 2007-2008, M2X
* Copyright (C) 2007-2014, M2X BV
*
* Authors: Jean-Paul Saman
*
......@@ -19,20 +19,22 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
// create a new instance of the timesheet class
$obj = new CTimesheet();
$msg = ''; // reset the message string
if (!defined('W2P_BASE_DIR')) {
die('You should not access this file directly.');
}
$obj = new CTimesheet();
// bind the informations (variables) retrieved via post to the timesheet object
if (!$obj->bind( $_POST )) {
$AppUI->setMsg( $obj->getError(), UI_MSG_ERROR );
$AppUI->redirect();
}
// detect if a deleete operation has to be processed
$workperiod = dPgetParam($_POST, 'workperiod', 0);
$stat = dPgetParam($_POST, 'stat', 0);
$del = dPgetParam($_POST, 'del', 0);
// detect if a delete operation has to be processed
$workperiod = w2PgetParam($_POST, 'workperiod', 0);
$stat = w2PgetParam($_POST, 'stat', 0);
$del = w2PgetParam($_POST, 'del', 0);
$obj->timesheet_id = $_POST["timesheet_id"];
$obj->timesheet_status = $_POST["timesheet_status"];
......@@ -42,46 +44,35 @@ $obj->timesheet_creator = $_POST["timesheet_creator"];
$obj->timesheet_worked = $_POST["timesheet_worked"];
$AppUI->setMsg( 'Timesheet' );
$msg = "m=timesheet";
if ($del) {
// check if there are dependencies on this object
if (!$obj->canDelete( $msg )) {
$AppUI->setMsg( $msg, UI_MSG_ERROR );
$AppUI->redirect();
}
// see how easy it is to run database commands with the object oriented architecture !
// simply delete a quote from db and have detailed error or success report
if ($msg = $obj->delete()) {
$AppUI->setMsg( $msg, UI_MSG_ERROR );
$AppUI->redirect();
if (!$obj->delete()) {
$AppUI->setMsg( 'Timesheet delete failed', UI_MSG_ERROR );
} else {
$AppUI->setMsg( "Timesheet deleted", UI_MSG_ALERT);
$AppUI->redirect( "m=timesheet" );
}
} else if ($stat) {
if ($msg = $obj->change_status()) {
$AppUI->setMsg( $msg, UI_MSG_ERROR );
$AppUI->redirect();
if (!$obj->change_status()) {
$AppUI->setMsg( "Timesheet changing status failed", UI_MSG_ERROR );
} else {
$AppUI->setMsg( "Timesheet status updated", UI_MSG_ALERT);
$AppUI->redirect( "m=timesheet&a=addedit&timesheet_id=".$obj->timesheet_id );
$msg = "m=timesheet&a=addedit&timesheet_id=" . $obj->timesheet_id;
}
} else if ($workperiod) {
if ($msg = $obj->change_period($obj->timesheet_period)) {
$AppUI->setMsg( $msg, UI_MSG_ERROR );
$AppUI->redirect();
if (!$obj->change_period($obj->timesheet_period)) {
$AppUI->setMsg( "Timesheet workperiod failed", UI_MSG_ERROR );
} else {
$AppUI->setMsg( "Timesheet period changed", UI_MSG_ALERT);
$AppUI->redirect( "m=timesheet&a=addedit&timesheet_id=".$obj->timesheet_id );
$msg = "m=timesheet&a=addedit&timesheet_id=" . $obj->timesheet_id;
}
} else {
// simply store the added/edited quote in database via the store method of the timesheet
// child class of the CDpObject provided ba the dPFramework
if (($msg = $obj->store())) {
$AppUI->setMsg( $msg, UI_MSG_ERROR );
if (!$obj->store()) {
$AppUI->setMsg( "Timesheet saving failed", UI_MSG_ERROR );
} else {
$isNotNew = $obj->timesheet_id; //_POST['timesheet_id'];
$AppUI->setMsg( $isNotNew ? 'Timesheet updated' : 'Timesheet inserted', UI_MSG_OK);
}
$AppUI->redirect("m=timesheet" );
}
$AppUI->redirect($msg);
?>
......@@ -23,9 +23,7 @@ if (!defined('W2P_BASE_DIR')) {
die('You should not access this file directly.');
}
global $AppUI;
$perms = $AppUI->acl();
$perms = &$AppUI->acl();
if (!$perms->checkModuleItem('timesheet', 'access')) {
$AppUI->redirect(ACCESS_DENIED);
}
......
......@@ -56,7 +56,7 @@ class CTimesheet extends w2p_Core_BaseObject {
}
public function loadFull($notUsed = null, $timesheet_id) {
// loadFull information for this timesheet\
// loadFull information for this timesheet
}
public function load($notUsed = null, $timesheet_id) {
......@@ -194,24 +194,25 @@ class CTimesheet extends w2p_Core_BaseObject {
// overload the delete method of the parent class for adaptation for timesheet's needs
public function delete($unused = null) {
$this->clearErrors();
if ($this->canDelete()) {
$q = $this->_getQuery();
$q->setDelete('timesheet_project');
$q->addWhere('timesheet_id = '. $this->timesheet_id );
if (!($q->exec())) {
$this->_error['delete-timesheet-project'] = db_error();
return false;
}
$q->clear();
$q->setDelete('timesheet');
$q->addWhere('timesheet_id = '. $this->timesheet_id );
if (!($q->exec())) {
$this->_error['delete-timesheet'] = db_error();
return false;
}
return true;
// FIXME: this check does not work
//if (!$this->canDelete())
// return false;
$q = $this->_getQuery();
$q->setDelete('timesheet_project');
$q->addWhere('timesheet_id = '. $this->timesheet_id );
if (!($q->exec())) {
$this->_error['delete-timesheet-project'] = db_error();
return false;
}
return false;
$q->clear();
$q->setDelete('timesheet');
$q->addWhere('timesheet_id = '. $this->timesheet_id );
if (!($q->exec())) {
$this->_error['delete-timesheet'] = db_error();
return false;
}
return true;
}
public function change_status() {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment