parent
023e7ce8ce
commit
e0201535e2
@ -17,6 +17,7 @@ For users:
|
||||
- Fix: [ bug #1496 ] ACTION_DELETE trigger does not show trigger error
|
||||
- Fix: [ bug #1494 ] CATEGORY_CREATE and CATEGORY_MODIFY triggers do not intercept trigger action
|
||||
- Fix: [ bug #1502 ] DON_CREATE trigger does not intercept trigger action
|
||||
- Fix: [ bug #1505, #1504] Project trigger problem
|
||||
|
||||
|
||||
For translators:
|
||||
|
||||
@ -130,15 +130,9 @@ class Project extends CommonObject
|
||||
|
||||
if (!$notrigger)
|
||||
{
|
||||
// Call triggers
|
||||
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
|
||||
$interface = new Interfaces($this->db);
|
||||
$result = $interface->run_triggers('PROJECT_CREATE', $this, $user, $langs, $conf);
|
||||
if ($result < 0)
|
||||
{
|
||||
$error++;
|
||||
$this->errors = $interface->errors;
|
||||
}
|
||||
// Call trigger
|
||||
$result=$this->call_trigger('PROJECT_CREATE',$user);
|
||||
if ($result < 0) { $error++; }
|
||||
// End call triggers
|
||||
}
|
||||
}
|
||||
@ -199,6 +193,8 @@ class Project extends CommonObject
|
||||
|
||||
if (dol_strlen(trim($this->ref)) > 0)
|
||||
{
|
||||
$this->db->begin();
|
||||
|
||||
$sql = "UPDATE " . MAIN_DB_PREFIX . "projet SET";
|
||||
$sql.= " ref='" . $this->db->escape($this->ref) . "'";
|
||||
$sql.= ", title = '" . $this->db->escape($this->title) . "'";
|
||||
@ -216,15 +212,9 @@ class Project extends CommonObject
|
||||
{
|
||||
if (!$notrigger)
|
||||
{
|
||||
// Call triggers
|
||||
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
|
||||
$interface = new Interfaces($this->db);
|
||||
$result = $interface->run_triggers('PROJECT_MODIFY', $this, $user, $langs, $conf);
|
||||
if ($result < 0)
|
||||
{
|
||||
$error++;
|
||||
$this->errors = $interface->errors;
|
||||
}
|
||||
// Call trigger
|
||||
$result=$this->call_trigger('PROJECT_MODIFY',$user);
|
||||
if ($result < 0) { $error++; }
|
||||
// End call triggers
|
||||
}
|
||||
|
||||
@ -259,13 +249,24 @@ class Project extends CommonObject
|
||||
}
|
||||
}
|
||||
}
|
||||
if (! $error )
|
||||
{
|
||||
$this->db->commit();
|
||||
$result = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->db->rollback();
|
||||
$result = -1;
|
||||
}
|
||||
|
||||
$result = 1;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->error = $this->db->lasterror();
|
||||
dol_syslog(get_class($this)."::Update error -2 " . $this->error, LOG_ERR);
|
||||
$this->db->rollback();
|
||||
$result = -2;
|
||||
}
|
||||
}
|
||||
@ -528,17 +529,18 @@ class Project extends CommonObject
|
||||
|
||||
if (!$notrigger)
|
||||
{
|
||||
// Call triggers
|
||||
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
|
||||
$interface = new Interfaces($this->db);
|
||||
$result = $interface->run_triggers('PROJECT_DELETE', $this, $user, $langs, $conf);
|
||||
// Call trigger
|
||||
$result=$this->call_trigger('PROJECT_DELETE',$user);
|
||||
if ($result < 0)
|
||||
{
|
||||
$error++;
|
||||
foreach ($interface->errors as $errmsg ) {
|
||||
dol_syslog(get_class($this) . "::delete " . $errmsg, LOG_ERR);
|
||||
$this->errors[] =$errmsg;
|
||||
}
|
||||
if (! empty($interface->errors))
|
||||
{
|
||||
foreach ($interface->errors as $errmsg ) {
|
||||
dol_syslog(get_class($this) . "::delete " . $errmsg, LOG_ERR);
|
||||
$this->errors[] =$errmsg;
|
||||
}
|
||||
}
|
||||
}
|
||||
// End call triggers
|
||||
}
|
||||
@ -587,16 +589,10 @@ class Project extends CommonObject
|
||||
$resql = $this->db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
// Appel des triggers
|
||||
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
|
||||
$interface = new Interfaces($this->db);
|
||||
$result = $interface->run_triggers('PROJECT_VALIDATE', $this, $user, $langs, $conf);
|
||||
if ($result < 0)
|
||||
{
|
||||
$error++;
|
||||
$this->errors = $interface->errors;
|
||||
}
|
||||
// Fin appel triggers
|
||||
// Call trigger
|
||||
$result=$this->call_trigger('PROJECT_VALIDATE',$user);
|
||||
if ($result < 0) { $error++; }
|
||||
// End call triggers
|
||||
|
||||
if (!$error)
|
||||
{
|
||||
@ -648,16 +644,10 @@ class Project extends CommonObject
|
||||
$resql = $this->db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
// Appel des triggers
|
||||
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
|
||||
$interface = new Interfaces($this->db);
|
||||
$result = $interface->run_triggers('PROJECT_CLOSE', $this, $user, $langs, $conf);
|
||||
if ($result < 0)
|
||||
{
|
||||
$error++;
|
||||
$this->errors = $interface->errors;
|
||||
}
|
||||
// Fin appel triggers
|
||||
// Call trigger
|
||||
$result=$this->call_trigger('PROJECT_CLOSE',$user);
|
||||
if ($result < 0) { $error++; }
|
||||
// End call triggers
|
||||
|
||||
if (!$error)
|
||||
{
|
||||
|
||||
@ -133,11 +133,9 @@ class Task extends CommonObject
|
||||
|
||||
if (! $notrigger)
|
||||
{
|
||||
// Call triggers
|
||||
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
|
||||
$interface=new Interfaces($this->db);
|
||||
$result=$interface->run_triggers('TASK_CREATE',$this,$user,$langs,$conf);
|
||||
if ($result < 0) { $error++; $this->errors=$interface->errors; }
|
||||
// Call trigger
|
||||
$result=$this->call_trigger('TASK_CREATE',$user);
|
||||
if ($result < 0) { $error++; }
|
||||
// End call triggers
|
||||
}
|
||||
}
|
||||
@ -303,11 +301,9 @@ class Task extends CommonObject
|
||||
{
|
||||
if (! $notrigger)
|
||||
{
|
||||
// Call triggers
|
||||
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
|
||||
$interface=new Interfaces($this->db);
|
||||
$result=$interface->run_triggers('TASK_MODIFY',$this,$user,$langs,$conf);
|
||||
if ($result < 0) { $error++; $this->errors=$interface->errors; }
|
||||
// Call trigger
|
||||
$result=$this->call_trigger('TASK_MODIFY',$user);
|
||||
if ($result < 0) { $error++; }
|
||||
// End call triggers
|
||||
}
|
||||
}
|
||||
@ -394,11 +390,9 @@ class Task extends CommonObject
|
||||
{
|
||||
if (! $notrigger)
|
||||
{
|
||||
// Call triggers
|
||||
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
|
||||
$interface=new Interfaces($this->db);
|
||||
$result=$interface->run_triggers('TASK_DELETE',$this,$user,$langs,$conf);
|
||||
if ($result < 0) { $error++; $this->errors=$interface->errors; }
|
||||
// Call trigger
|
||||
$result=$this->call_trigger('TASK_DELETE',$user);
|
||||
if ($result < 0) { $error++; }
|
||||
// End call triggers
|
||||
}
|
||||
}
|
||||
@ -744,11 +738,12 @@ class Task extends CommonObject
|
||||
{
|
||||
global $conf,$langs;
|
||||
|
||||
$error=0;
|
||||
$ret = 0;
|
||||
|
||||
// Clean parameters
|
||||
if (isset($this->timespent_note)) $this->timespent_note = trim($this->timespent_note);
|
||||
|
||||
$this->db->begin();
|
||||
|
||||
$sql = "INSERT INTO ".MAIN_DB_PREFIX."projet_task_time (";
|
||||
$sql.= "fk_task";
|
||||
@ -772,11 +767,9 @@ class Task extends CommonObject
|
||||
|
||||
if (! $notrigger)
|
||||
{
|
||||
// Call triggers
|
||||
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
|
||||
$interface=new Interfaces($this->db);
|
||||
$result=$interface->run_triggers('TASK_TIMESPENT_CREATE',$this,$user,$langs,$conf);
|
||||
if ($result < 0) { $error++; $this->errors=$interface->errors; }
|
||||
// Call trigger
|
||||
$result=$this->call_trigger('TASK_TIMESPENT_CREATE',$user);
|
||||
if ($result < 0) { $this->db->rollback(); $ret=-1; }
|
||||
// End call triggers
|
||||
}
|
||||
}
|
||||
@ -784,6 +777,7 @@ class Task extends CommonObject
|
||||
{
|
||||
$this->error=$this->db->lasterror();
|
||||
dol_syslog(get_class($this)."::addTimeSpent error -1 ".$this->error,LOG_ERR);
|
||||
$this->db->rollback();
|
||||
$ret = -1;
|
||||
}
|
||||
|
||||
@ -798,6 +792,7 @@ class Task extends CommonObject
|
||||
{
|
||||
$this->error=$this->db->lasterror();
|
||||
dol_syslog(get_class($this)."::addTimeSpent error -2 ".$this->error, LOG_ERR);
|
||||
$this->db->rollback();
|
||||
$ret = -2;
|
||||
}
|
||||
}
|
||||
@ -813,10 +808,12 @@ class Task extends CommonObject
|
||||
{
|
||||
$this->error=$this->db->lasterror();
|
||||
dol_syslog(get_class($this)."::addTimeSpent error -2 ".$this->error, LOG_ERR);
|
||||
$this->db->rollback();
|
||||
$ret = -2;
|
||||
}
|
||||
}
|
||||
|
||||
if ($ret >=0) $this->db->commit();
|
||||
return $ret;
|
||||
}
|
||||
|
||||
@ -879,11 +876,12 @@ class Task extends CommonObject
|
||||
{
|
||||
global $conf,$langs;
|
||||
|
||||
$error=0;
|
||||
$ret = 0;
|
||||
|
||||
// Clean parameters
|
||||
if (isset($this->timespent_note)) $this->timespent_note = trim($this->timespent_note);
|
||||
|
||||
$this->db->begin();
|
||||
|
||||
$sql = "UPDATE ".MAIN_DB_PREFIX."projet_task_time SET";
|
||||
$sql.= " task_date = '".$this->db->idate($this->timespent_date)."',";
|
||||
@ -897,19 +895,23 @@ class Task extends CommonObject
|
||||
{
|
||||
if (! $notrigger)
|
||||
{
|
||||
// Call triggers
|
||||
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
|
||||
$interface=new Interfaces($this->db);
|
||||
$result=$interface->run_triggers('TASK_TIMESPENT_MODIFY',$this,$user,$langs,$conf);
|
||||
if ($result < 0) { $error++; $this->errors=$interface->errors; }
|
||||
// Call trigger
|
||||
$result=$this->call_trigger('TASK_TIMESPENT_MODIFY',$user);
|
||||
if ($result < 0)
|
||||
{
|
||||
$this->db->rollback();
|
||||
$ret = -1;
|
||||
}
|
||||
else $ret = 1;
|
||||
// End call triggers
|
||||
}
|
||||
$ret = 1;
|
||||
else $ret = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->error=$this->db->lasterror();
|
||||
dol_syslog(get_class($this)."::updateTimeSpent error -1 ".$this->error,LOG_ERR);
|
||||
$this->db->rollback();
|
||||
$ret = -1;
|
||||
}
|
||||
|
||||
@ -925,11 +927,13 @@ class Task extends CommonObject
|
||||
if (! $this->db->query($sql) )
|
||||
{
|
||||
$this->error=$this->db->lasterror();
|
||||
$this->db->rollback();
|
||||
dol_syslog(get_class($this)."::addTimeSpent error -2 ".$this->error, LOG_ERR);
|
||||
$ret = -2;
|
||||
}
|
||||
}
|
||||
|
||||
if ($ret >= 0) $this->db->commit();
|
||||
return $ret;
|
||||
}
|
||||
|
||||
@ -959,11 +963,9 @@ class Task extends CommonObject
|
||||
{
|
||||
if (! $notrigger)
|
||||
{
|
||||
// Call triggers
|
||||
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
|
||||
$interface=new Interfaces($this->db);
|
||||
$result=$interface->run_triggers('TASK_TIMESPENT_DELETE',$this,$user,$langs,$conf);
|
||||
if ($result < 0) { $error++; $this->errors=$interface->errors; }
|
||||
// Call trigger
|
||||
$result=$this->call_trigger('TASK_TIMESPENT_DELETE',$user);
|
||||
if ($result < 0) { $error++; }
|
||||
// End call triggers
|
||||
}
|
||||
}
|
||||
|
||||
@ -340,7 +340,8 @@ if (empty($reshook))
|
||||
else
|
||||
{
|
||||
dol_syslog($object->error,LOG_DEBUG);
|
||||
$mesg='<div class="error">'.$langs->trans("CantRemoveProject").'</div>';
|
||||
setEventMessage($object->error,'errors');
|
||||
setEventMessage($object->errors,'errors');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -130,6 +130,11 @@ if ($action == 'createtask' && $user->rights->projet->creer)
|
||||
if ($taskid > 0)
|
||||
{
|
||||
$result = $task->add_contact($_POST["userid"], 'TASKEXECUTIVE', 'internal');
|
||||
}
|
||||
else
|
||||
{
|
||||
setEventMessage($task->error,'errors');
|
||||
setEventMessage($task->errors,'errors');
|
||||
}
|
||||
}
|
||||
|
||||
@ -193,6 +198,8 @@ if ($id > 0 || ! empty($ref))
|
||||
|
||||
$head=project_prepare_head($object);
|
||||
dol_fiche_head($head, $tab, $langs->trans("Project"),0,($object->public?'projectpub':'project'));
|
||||
|
||||
dol_htmloutput_mesg();
|
||||
|
||||
$param=($mode=='mine'?'&mode=mine':'');
|
||||
|
||||
|
||||
@ -91,6 +91,12 @@ if ($action == 'update' && ! $_POST["cancel"] && $user->rights->projet->creer)
|
||||
$ret = $extrafields->setOptionalsFromPost($extralabels,$object);
|
||||
|
||||
$result=$object->update($user);
|
||||
|
||||
if ($result < 0)
|
||||
{
|
||||
setEventMessage($object->error,'errors');
|
||||
setEventMessage($object->errors,'errors');
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@ -140,7 +140,7 @@ if ($action == 'confirm_delete' && $confirm == "yes" && $user->rights->projet->c
|
||||
$object->fetchTimeSpent($_GET['lineid']);
|
||||
$result = $object->delTimeSpent($user);
|
||||
|
||||
if (!$result)
|
||||
if ($result < 0)
|
||||
{
|
||||
$langs->load("errors");
|
||||
setEventMessage($langs->trans($object->error),'errors');
|
||||
|
||||
Loading…
Reference in New Issue
Block a user