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