Fix: Regression detected by PHPUnit

This commit is contained in:
Laurent Destailleur 2012-12-10 19:06:59 +01:00
parent 88ffda4bfb
commit f4459ee1f1
6 changed files with 45 additions and 38 deletions

View File

@ -715,9 +715,9 @@ class Adherent extends CommonObject
$this->error .= $this->db->lasterror(); $this->error .= $this->db->lasterror();
$errorflag=-1; $errorflag=-1;
dol_syslog(get_class($this)."::delete erreur ".$errorflag." ".$this->error, LOG_ERR); dol_syslog(get_class($this)."::delete erreur ".$errorflag." ".$this->error, LOG_ERR);
} }
// Remove cotisation // Remove cotisation
if (! $error) if (! $error)
{ {
@ -732,9 +732,9 @@ class Adherent extends CommonObject
dol_syslog(get_class($this)."::delete erreur ".$errorflag." ".$this->error, LOG_ERR); dol_syslog(get_class($this)."::delete erreur ".$errorflag." ".$this->error, LOG_ERR);
} }
} }
// Remove linked user // Remove linked user
if (! $error) if (! $error)
{ {
$ret=$this->setUserId(0); $ret=$this->setUserId(0);
if ($ret < 0) if ($ret < 0)
@ -745,21 +745,22 @@ class Adherent extends CommonObject
dol_syslog(get_class($this)."::delete erreur ".$errorflag." ".$this->error, LOG_ERR); dol_syslog(get_class($this)."::delete erreur ".$errorflag." ".$this->error, LOG_ERR);
} }
} }
// Removed extrafields // Removed extrafields
if (! $error) if (! $error)
{ {
if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used
{ {
$result=$this->deleteExtraFields($this); $result=$this->deleteExtraFields();
if ($result < 0) { if ($result < 0)
{
$error++; $error++;
$errorflag=-4; $errorflag=-4;
dol_syslog(get_class($this)."::delete erreur ".$errorflag." ".$this->error, LOG_ERR); dol_syslog(get_class($this)."::delete erreur ".$errorflag." ".$this->error, LOG_ERR);
} }
} }
} }
// Remove adherent // Remove adherent
if (! $error) if (! $error)
{ {
@ -774,7 +775,7 @@ class Adherent extends CommonObject
dol_syslog(get_class($this)."::delete erreur ".$errorflag." ".$this->error, LOG_ERR); dol_syslog(get_class($this)."::delete erreur ".$errorflag." ".$this->error, LOG_ERR);
} }
} }
if (! $error) if (! $error)
{ {
// Appel des triggers // Appel des triggers
@ -784,9 +785,9 @@ class Adherent extends CommonObject
if ($result < 0) {$error++; $this->errors=$interface->errors;} if ($result < 0) {$error++; $this->errors=$interface->errors;}
// Fin appel triggers // Fin appel triggers
} }
if (! $error) if (! $error)
{ {
$this->db->commit(); $this->db->commit();

View File

@ -227,7 +227,7 @@ class ActionComm extends CommonObject
} }
} }
else if ($reshook < 0) $error++; else if ($reshook < 0) $error++;
if (! $notrigger) if (! $notrigger)
{ {
// Appel des triggers // Appel des triggers
@ -367,13 +367,17 @@ class ActionComm extends CommonObject
$this->error=$this->db->lasterror(); $this->error=$this->db->lasterror();
$error++; $error++;
} }
// Removed extrafields // Removed extrafields
if (! $error) { if (! $error) {
$result=$this->deleteExtraFields($this); $result=$this->deleteExtraFields();
if ($result < 0) $error++; if ($result < 0)
{
$error++;
dol_syslog(get_class($this)."::delete error -3 ".$this->error, LOG_ERR);
}
} }
if (!$error) if (!$error)
{ {
if (! $notrigger) if (! $notrigger)
@ -468,7 +472,7 @@ class ActionComm extends CommonObject
dol_syslog(get_class($this)."::update sql=".$sql); dol_syslog(get_class($this)."::update sql=".$sql);
if ($this->db->query($sql)) if ($this->db->query($sql))
{ {
// Actions on extra fields (by external module or standard code) // Actions on extra fields (by external module or standard code)
include_once DOL_DOCUMENT_ROOT.'/core/class/hookmanager.class.php'; include_once DOL_DOCUMENT_ROOT.'/core/class/hookmanager.class.php';
$hookmanager=new HookManager($this->db); $hookmanager=new HookManager($this->db);
@ -487,7 +491,7 @@ class ActionComm extends CommonObject
} }
} }
else if ($reshook < 0) $error++; else if ($reshook < 0) $error++;
if (! $notrigger) if (! $notrigger)
{ {
// Appel des triggers // Appel des triggers

View File

@ -2069,25 +2069,24 @@ abstract class CommonObject
/** /**
* Delete all extra fields values for the current object. * Delete all extra fields values for the current object.
* *
* @return void * @return int <0 if KO, >0 if OK
*/ */
function deleteExtraFields() function deleteExtraFields()
{ {
global $langs; global $langs;
$error=0; $error=0;
$this->db->begin(); $this->db->begin();
$sql_del = "DELETE FROM ".MAIN_DB_PREFIX.$this->table_element."_extrafields WHERE fk_object = ".$this->id; $sql_del = "DELETE FROM ".MAIN_DB_PREFIX.$this->table_element."_extrafields WHERE fk_object = ".$this->id;
dol_syslog(get_class($this)."::insertExtraFields delete sql=".$sql_del); dol_syslog(get_class($this)."::deleteExtraFields delete sql=".$sql_del);
$this->db->query($sql_del); $resql=$this->db->query($sql_del);
if (! $resql) if (! $resql)
{ {
$this->error=$this->db->lasterror(); $this->error=$this->db->lasterror();
dol_syslog(get_class($this)."::delete ".$this->error,LOG_ERR); dol_syslog(get_class($this)."::deleteExtraFields ".$this->error,LOG_ERR);
$this->db->rollback(); $this->db->rollback();
return -1; return -1;
} }
@ -2256,7 +2255,7 @@ abstract class CommonObject
/** /**
* Function that returns the total amount of discounts applied. * Function that returns the total amount of discounts applied.
* *
* @return false|float False is returned if the discount couldn't be retrieved * @return false|float False is returned if the discount couldn't be retrieved
*/ */
function getTotalDiscount() function getTotalDiscount()
@ -2264,7 +2263,7 @@ abstract class CommonObject
$sql = 'SELECT (SUM(`subprice`) - SUM(`total_ht`)) as `discount` FROM '.MAIN_DB_PREFIX.$this->table_element.'det WHERE `'.$this->fk_element.'` = '.$this->id; $sql = 'SELECT (SUM(`subprice`) - SUM(`total_ht`)) as `discount` FROM '.MAIN_DB_PREFIX.$this->table_element.'det WHERE `'.$this->fk_element.'` = '.$this->id;
$query = $this->db->query($sql); $query = $this->db->query($sql);
if ($query) if ($query)
{ {
$result = $this->db->fetch_object($query); $result = $this->db->fetch_object($query);

View File

@ -629,8 +629,9 @@ class Product extends CommonObject
// Removed extrafields // Removed extrafields
if ((! $error) && (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED))) // For avoid conflicts if trigger used if ((! $error) && (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED))) // For avoid conflicts if trigger used
{ {
$result=$this->deleteExtraFields($this); $result=$this->deleteExtraFields();
if ($result < 0) { if ($result < 0)
{
$error++; $error++;
dol_syslog(get_class($this).'::delete error '.$this->error, LOG_ERR); dol_syslog(get_class($this).'::delete error '.$this->error, LOG_ERR);
} }

View File

@ -1018,7 +1018,7 @@ class Societe extends CommonObject
{ {
$error++; $error++;
$this->error = $this->db->lasterror(); $this->error = $this->db->lasterror();
dol_syslog(get_class($this)."::Delete erreur -2 ".$this->error, LOG_ERR); dol_syslog(get_class($this)."::delete erreur -2 ".$this->error, LOG_ERR);
} }
} }
@ -1040,10 +1040,11 @@ class Societe extends CommonObject
// Removed extrafields // Removed extrafields
if ((! $error) && (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED))) // For avoid conflicts if trigger used if ((! $error) && (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED))) // For avoid conflicts if trigger used
{ {
$result=$this->deleteExtraFields($this); $result=$this->deleteExtraFields();
if ($result < 0) { if ($result < 0)
{
$error++; $error++;
dol_syslog(get_class($this)."::delete error -3 ".$this->error, LOG_ERR); dol_syslog(get_class($this)."::delete error -3 ".$this->error, LOG_ERR);
} }
} }

View File

@ -721,8 +721,9 @@ class User extends CommonObject
// Remove extrafields // Remove extrafields
if ((! $error) && (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED))) // For avoid conflicts if trigger used if ((! $error) && (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED))) // For avoid conflicts if trigger used
{ {
$result=$this->deleteExtraFields($this); $result=$this->deleteExtraFields();
if ($result < 0) { if ($result < 0)
{
$error++; $error++;
dol_syslog(get_class($this)."::delete error -4 ".$this->error, LOG_ERR); dol_syslog(get_class($this)."::delete error -4 ".$this->error, LOG_ERR);
} }