forked from Wavyzz/dolibarr
Fix: add deleteObjectLinked function
This commit is contained in:
@@ -2320,38 +2320,26 @@ class Commande extends CommonObject
|
|||||||
dol_syslog("Commande::delete sql=".$sql);
|
dol_syslog("Commande::delete sql=".$sql);
|
||||||
if (! $this->db->query($sql) )
|
if (! $this->db->query($sql) )
|
||||||
{
|
{
|
||||||
dol_syslog("CustomerOrder::delete error", LOG_ERR);
|
dol_syslog(get_class($this)."::delete error", LOG_ERR);
|
||||||
$error++;
|
$error++;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Delete order
|
// Delete order
|
||||||
$sql = 'DELETE FROM '.MAIN_DB_PREFIX."commande WHERE rowid = ".$this->id;
|
$sql = 'DELETE FROM '.MAIN_DB_PREFIX."commande WHERE rowid = ".$this->id;
|
||||||
dol_syslog("Commande::delete sql=".$sql);
|
dol_syslog(get_class($this)."::delete sql=".$sql, LOG_DEBUG);
|
||||||
if (! $this->db->query($sql) )
|
if (! $this->db->query($sql) )
|
||||||
{
|
{
|
||||||
dol_syslog("CustomerOrder::delete error", LOG_ERR);
|
dol_syslog(get_class($this)."::delete error", LOG_ERR);
|
||||||
$error++;
|
$error++;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Delete linked object
|
// Delete linked object
|
||||||
// TODO deplacer dans le common
|
$res = $this->deleteObjectLinked();
|
||||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."element_element";
|
if ($res < 0) $error++;
|
||||||
$sql.= " WHERE fk_target = ".$this->id;
|
|
||||||
$sql.= " AND targettype = '".$this->element."'";
|
|
||||||
dol_syslog("Commande::delete sql=".$sql);
|
|
||||||
if (! $this->db->query($sql) )
|
|
||||||
{
|
|
||||||
dol_syslog("CustomerOrder::delete error", LOG_ERR);
|
|
||||||
$error++;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Delete linked contacts
|
// Delete linked contacts
|
||||||
$res = $this->delete_linked_contact();
|
$res = $this->delete_linked_contact();
|
||||||
if ($res < 0)
|
if ($res < 0) $error++;
|
||||||
{
|
|
||||||
dol_syslog("CustomerOrder::delete error", LOG_ERR);
|
|
||||||
$error++;
|
|
||||||
}
|
|
||||||
|
|
||||||
// On efface le repertoire de pdf provisoire
|
// On efface le repertoire de pdf provisoire
|
||||||
$comref = dol_sanitizeFileName($this->ref);
|
$comref = dol_sanitizeFileName($this->ref);
|
||||||
@@ -2381,7 +2369,7 @@ class Commande extends CommonObject
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($error == 0)
|
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");
|
||||||
|
|||||||
@@ -1131,11 +1131,11 @@ class Facture extends CommonObject
|
|||||||
$error=0;
|
$error=0;
|
||||||
$this->db->begin();
|
$this->db->begin();
|
||||||
|
|
||||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."element_element";
|
// Delete linked object
|
||||||
$sql.= " WHERE fk_target = ".$rowid;
|
$res = $this->deleteObjectLinked();
|
||||||
$sql.= " AND targettype = '".$this->element."'";
|
if ($res < 0) $error++;
|
||||||
|
|
||||||
if ($this->db->query($sql))
|
if (! $error)
|
||||||
{
|
{
|
||||||
// If invoice was converted into a discount not yet consumed, we remove discount
|
// If invoice was converted into a discount not yet consumed, we remove discount
|
||||||
$sql = 'DELETE FROM '.MAIN_DB_PREFIX.'societe_remise_except';
|
$sql = 'DELETE FROM '.MAIN_DB_PREFIX.'societe_remise_except';
|
||||||
|
|||||||
@@ -294,7 +294,7 @@ abstract class CommonObject
|
|||||||
$sql.= " WHERE element_id =".$this->id;
|
$sql.= " WHERE element_id =".$this->id;
|
||||||
$sql.= " AND fk_c_type_contact IN (".$listId.")";
|
$sql.= " AND fk_c_type_contact IN (".$listId.")";
|
||||||
|
|
||||||
dol_syslog(get_class($this)."::delete_linked_contact sql=".$sql);
|
dol_syslog(get_class($this)."::delete_linked_contact sql=".$sql, LOG_DEBUG);
|
||||||
if ($this->db->query($sql))
|
if ($this->db->query($sql))
|
||||||
{
|
{
|
||||||
return 1;
|
return 1;
|
||||||
@@ -1630,6 +1630,30 @@ abstract class CommonObject
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Delete all links between an object $this
|
||||||
|
*
|
||||||
|
* @return int >0 if OK, <0 if KO
|
||||||
|
*/
|
||||||
|
function deleteObjectLinked()
|
||||||
|
{
|
||||||
|
$sql = "DELETE FROM ".MAIN_DB_PREFIX."element_element";
|
||||||
|
$sql.= " WHERE fk_target = ".$this->id;
|
||||||
|
$sql.= " AND targettype = '".$this->element."'";
|
||||||
|
|
||||||
|
dol_syslog(get_class($this)."::deleteObjectLinked sql=".$sql, LOG_DEBUG);
|
||||||
|
if ($this->db->query($sql))
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->error=$this->db->lasterror();
|
||||||
|
dol_syslog(get_class($this)."::deleteObjectLinked error=".$this->error, LOG_ERR);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set statut of an object
|
* Set statut of an object
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -761,16 +761,16 @@ class Expedition extends CommonObject
|
|||||||
|
|
||||||
if ( $this->db->query($sql) )
|
if ( $this->db->query($sql) )
|
||||||
{
|
{
|
||||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."element_element";
|
// Delete linked object
|
||||||
$sql.= " WHERE fk_target = ".$this->id;
|
$res = $this->deleteObjectLinked();
|
||||||
$sql.= " AND targettype = '".$this->element."'";
|
if ($res < 0) $error++;
|
||||||
|
|
||||||
if ( $this->db->query($sql) )
|
if (! $error)
|
||||||
{
|
{
|
||||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."expedition";
|
$sql = "DELETE FROM ".MAIN_DB_PREFIX."expedition";
|
||||||
$sql.= " WHERE rowid = ".$this->id;
|
$sql.= " WHERE rowid = ".$this->id;
|
||||||
|
|
||||||
if ( $this->db->query($sql) )
|
if ($this->db->query($sql))
|
||||||
{
|
{
|
||||||
$this->db->commit();
|
$this->db->commit();
|
||||||
|
|
||||||
|
|||||||
@@ -585,16 +585,8 @@ class Fichinter extends CommonObject
|
|||||||
$this->db->begin();
|
$this->db->begin();
|
||||||
|
|
||||||
// Delete linked object
|
// Delete linked object
|
||||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."element_element";
|
$res = $this->deleteObjectLinked();
|
||||||
$sql.= " WHERE fk_target = ".$this->id;
|
if ($res < 0) $error++;
|
||||||
$sql.= " AND targettype = '".$this->element."'";
|
|
||||||
dol_syslog("Fichinter::delete sql=".$sql);
|
|
||||||
if (! $this->db->query($sql) )
|
|
||||||
{
|
|
||||||
dol_syslog("Fichinter::delete error", LOG_ERR);
|
|
||||||
$this->error=$this->db->lasterror();
|
|
||||||
$error++;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Delete linked contacts
|
// Delete linked contacts
|
||||||
$res = $this->delete_linked_contact();
|
$res = $this->delete_linked_contact();
|
||||||
|
|||||||
@@ -550,14 +550,17 @@ class Livraison extends CommonObject
|
|||||||
require_once(DOL_DOCUMENT_ROOT."/core/lib/files.lib.php");
|
require_once(DOL_DOCUMENT_ROOT."/core/lib/files.lib.php");
|
||||||
$this->db->begin();
|
$this->db->begin();
|
||||||
|
|
||||||
|
$error=0;
|
||||||
|
|
||||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."livraisondet";
|
$sql = "DELETE FROM ".MAIN_DB_PREFIX."livraisondet";
|
||||||
$sql.= " WHERE fk_livraison = ".$this->id;
|
$sql.= " WHERE fk_livraison = ".$this->id;
|
||||||
if ( $this->db->query($sql) )
|
if ($this->db->query($sql))
|
||||||
{
|
{
|
||||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."element_element";
|
// Delete linked object
|
||||||
$sql.= " WHERE fk_target = ".$this->id;
|
$res = $this->deleteObjectLinked();
|
||||||
$sql.= " AND targettype = '".$this->element."'";
|
if ($res < 0) $error++;
|
||||||
if ( $this->db->query($sql) )
|
|
||||||
|
if (! $error)
|
||||||
{
|
{
|
||||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."livraison";
|
$sql = "DELETE FROM ".MAIN_DB_PREFIX."livraison";
|
||||||
$sql.= " WHERE rowid = ".$this->id;
|
$sql.= " WHERE rowid = ".$this->id;
|
||||||
|
|||||||
Reference in New Issue
Block a user