Fix: Error in deleting customer order

This commit is contained in:
Laurent Destailleur 2010-02-20 18:43:19 +00:00
parent 605d43a2ec
commit fad16cf338
2 changed files with 30 additions and 17 deletions

View File

@ -1866,29 +1866,35 @@ class Commande extends CommonObject
*/ */
function delete($user) function delete($user)
{ {
global $conf, $lang; global $conf, $langs;
$err = 0; $err = 0;
$this->db->begin(); $this->db->begin();
$sql = 'DELETE FROM '.MAIN_DB_PREFIX."commandedet WHERE fk_commande = ".$this->id; $sql = 'DELETE FROM '.MAIN_DB_PREFIX."commandedet WHERE fk_commande = ".$this->id;
dol_syslog("Commande::delete sql=".$sql);
if (! $this->db->query($sql) ) if (! $this->db->query($sql) )
{ {
dol_syslog("Commande::delete error", LOG_ERR);
$err++; $err++;
} }
$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);
if (! $this->db->query($sql) ) if (! $this->db->query($sql) )
{ {
dol_syslog("Commande::delete error", LOG_ERR);
$err++; $err++;
} }
$sql = "DELETE FROM ".MAIN_DB_PREFIX."element_element"; $sql = "DELETE FROM ".MAIN_DB_PREFIX."element_element";
$sql.= " WHERE fk_target = ".$this->id; $sql.= " WHERE fk_target = ".$this->id;
$sql.= " AND targettype = ".$this->element; $sql.= " AND targettype = '".$this->element."'";
dol_syslog("Commande::delete sql=".$sql);
if (! $this->db->query($sql) ) if (! $this->db->query($sql) )
{ {
dol_syslog("Commande::delete error", LOG_ERR);
$err++; $err++;
} }

View File

@ -97,9 +97,16 @@ if ($_REQUEST['action'] == 'confirm_delete' && $_REQUEST['confirm'] == 'yes')
{ {
$commande = new Commande($db); $commande = new Commande($db);
$commande->fetch($_GET['id']); $commande->fetch($_GET['id']);
$commande->delete($user); $result=$commande->delete($user);
Header('Location: index.php'); if ($result > 0)
exit; {
Header('Location: index.php');
exit;
}
else
{
$mesg=$commande->error;
}
} }
} }