Qual: More complete error management into delete methods

This commit is contained in:
Laurent Destailleur 2012-12-02 13:51:33 +01:00
parent 6fcc32b326
commit 938dc92ab6
3 changed files with 58 additions and 17 deletions

View File

@ -704,7 +704,7 @@ class Adherent extends CommonObject
$this->db->begin(); $this->db->begin();
// Suppression options // Remove extrafields
$sql = "DELETE FROM ".MAIN_DB_PREFIX."adherent_extrafields WHERE fk_object = ".$rowid; $sql = "DELETE FROM ".MAIN_DB_PREFIX."adherent_extrafields WHERE fk_object = ".$rowid;
dol_syslog(get_class($this)."::delete sql=".$sql); dol_syslog(get_class($this)."::delete sql=".$sql);

View File

@ -1041,6 +1041,19 @@ class Societe extends CommonObject
} }
} }
// Remove extrafields
if (! $error)
{
$sql = "DELETE FROM ".MAIN_DB_PREFIX."societe_extrafields WHERE fk_object = ".$id;
dol_syslog(get_class($this)."::delete sql=".$sql);
if (! $this->db->query($sql))
{
$error++;
$this->error = $this->db->lasterror();
dol_syslog(get_class($this)."::delete error -3 ".$this->error, LOG_ERR);
}
}
// Remove third party // Remove third party
if (! $error) if (! $error)
{ {
@ -1051,7 +1064,7 @@ class Societe extends CommonObject
{ {
$error++; $error++;
$this->error = $this->db->lasterror(); $this->error = $this->db->lasterror();
dol_syslog(get_class($this)."::delete erreur -3 ".$this->error, LOG_ERR); dol_syslog(get_class($this)."::delete error -4 ".$this->error, LOG_ERR);
} }
} }

View File

@ -689,33 +689,61 @@ class User extends CommonObject
// Supprime droits // Supprime droits
$sql = "DELETE FROM ".MAIN_DB_PREFIX."user_rights WHERE fk_user = ".$this->id; $sql = "DELETE FROM ".MAIN_DB_PREFIX."user_rights WHERE fk_user = ".$this->id;
if ($this->db->query($sql)) if (! $error && ! $this->db->query($sql))
{ {
$error++;
$this->error = $this->db->lasterror();
dol_syslog(get_class($this)."::delete error -1 ".$this->error, LOG_ERR);
} }
// Remove group // Remove group
$sql = "DELETE FROM ".MAIN_DB_PREFIX."usergroup_user WHERE fk_user = ".$this->id; $sql = "DELETE FROM ".MAIN_DB_PREFIX."usergroup_user WHERE fk_user = ".$this->id;
if ($this->db->query($sql)) if (! $error && ! $this->db->query($sql))
{ {
$error++;
$this->error = $this->db->lasterror();
dol_syslog(get_class($this)."::delete error -2 ".$this->error, LOG_ERR);
} }
// Si contact, supprime lien // Si contact, supprime lien
if ($this->contact_id) if ($this->contact_id)
{ {
$sql = "UPDATE ".MAIN_DB_PREFIX."socpeople SET fk_user_creat = null WHERE rowid = ".$this->contact_id; $sql = "UPDATE ".MAIN_DB_PREFIX."socpeople SET fk_user_creat = null WHERE rowid = ".$this->contact_id;
if ($this->db->query($sql)) if (! $error && ! $this->db->query($sql))
{ {
$error++;
$this->error = $this->db->lasterror();
dol_syslog(get_class($this)."::delete error -3 ".$this->error, LOG_ERR);
} }
} }
// Supprime utilisateur // Remove extrafields
$sql = "DELETE FROM ".MAIN_DB_PREFIX."user WHERE rowid = $this->id"; if (! $error)
$result = $this->db->query($sql); {
$sql = "DELETE FROM ".MAIN_DB_PREFIX."user_extrafields WHERE fk_object = ".$this->id;
dol_syslog(get_class($this)."::delete sql=".$sql);
if (! $this->db->query($sql))
{
$error++;
$this->error = $this->db->lasterror();
dol_syslog(get_class($this)."::delete error -4 ".$this->error, LOG_ERR);
}
}
if ($result) // Remove user
if (! $error)
{
$sql = "DELETE FROM ".MAIN_DB_PREFIX."user WHERE rowid = ".$this->id;
dol_syslog(get_class($this)."::delete sql=".$sql);
if (! $this->db->query($sql))
{
$error++;
$this->error = $this->db->lasterror();
dol_syslog(get_class($this)."::delete error -5 ".$this->error, LOG_ERR);
}
}
if (! $error)
{ {
// Appel des triggers // Appel des triggers
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php'; include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';