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

@ -121,7 +121,7 @@ class Commande extends CommonObject
for ($i = 0 ; $i < sizeof($propal->lignes) ; $i++) for ($i = 0 ; $i < sizeof($propal->lignes) ; $i++)
{ {
$line = new OrderLine($this->db); $line = new OrderLine($this->db);
$line->libelle = $propal->lignes[$i]->libelle; $line->libelle = $propal->lignes[$i]->libelle;
$line->desc = $propal->lignes[$i]->desc; $line->desc = $propal->lignes[$i]->desc;
$line->price = $propal->lignes[$i]->price; $line->price = $propal->lignes[$i]->price;
@ -133,7 +133,7 @@ class Commande extends CommonObject
$line->fk_product = $propal->lignes[$i]->fk_product; $line->fk_product = $propal->lignes[$i]->fk_product;
$line->info_bits = $propal->lignes[$i]->info_bits; $line->info_bits = $propal->lignes[$i]->info_bits;
$line->product_type = $propal->lignes[$i]->product_type; $line->product_type = $propal->lignes[$i]->product_type;
$this->lines[$i] = $line; $this->lines[$i] = $line;
} }
@ -882,7 +882,7 @@ class Commande extends CommonObject
$price = $prod->price; $price = $prod->price;
$line=new OrderLine($this->db); $line=new OrderLine($this->db);
$line->fk_product=$idproduct; $line->fk_product=$idproduct;
$line->desc=$prod->description; $line->desc=$prod->description;
$line->qty=$qty; $line->qty=$qty;
@ -1067,7 +1067,7 @@ class Commande extends CommonObject
} }
$line = new OrderLine($this->db); $line = new OrderLine($this->db);
$line->fk_commande=$this->id; $line->fk_commande=$this->id;
$line->fk_remise_except=$remise->id; $line->fk_remise_except=$remise->id;
$line->desc=$remise->description; // Description ligne $line->desc=$remise->description; // Description ligne
@ -1147,7 +1147,7 @@ class Commande extends CommonObject
$objp = $this->db->fetch_object($result); $objp = $this->db->fetch_object($result);
$line = new OrderLine($this->db); $line = new OrderLine($this->db);
$line->rowid = $objp->rowid; // \deprecated $line->rowid = $objp->rowid; // \deprecated
$line->id = $objp->rowid; $line->id = $objp->rowid;
$line->fk_commande = $objp->fk_commande; $line->fk_commande = $objp->fk_commande;
@ -1354,10 +1354,10 @@ class Commande extends CommonObject
// Supprime ligne // Supprime ligne
$line = new OrderLine($this->db); $line = new OrderLine($this->db);
$line->id = $idligne; $line->id = $idligne;
$line->fk_commande = $this->id; // On en a besoin dans les triggers $line->fk_commande = $this->id; // On en a besoin dans les triggers
$result=$line->delete($user); $result=$line->delete($user);
if ($result > 0) if ($result > 0)
@ -1700,7 +1700,7 @@ class Commande extends CommonObject
$sql = 'UPDATE '.MAIN_DB_PREFIX.'commande SET'; $sql = 'UPDATE '.MAIN_DB_PREFIX.'commande SET';
$sql.= ' ref_client = '.(empty($ref_client) ? 'NULL' : '\''.addslashes($ref_client).'\''); $sql.= ' ref_client = '.(empty($ref_client) ? 'NULL' : '\''.addslashes($ref_client).'\'');
$sql.= ' WHERE rowid = '.$this->id; $sql.= ' WHERE rowid = '.$this->id;
if ($this->db->query($sql) ) if ($this->db->query($sql) )
{ {
$this->ref_client = $ref_client; $this->ref_client = $ref_client;
@ -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++;
} }
@ -2230,9 +2236,9 @@ class Commande extends CommonObject
while ($xnbp < $nbp) while ($xnbp < $nbp)
{ {
$line=new OrderLine($this->db); $line=new OrderLine($this->db);
$prodid = rand(1, $num_prods); $prodid = rand(1, $num_prods);
$line->desc=$langs->trans("Description")." ".$xnbp; $line->desc=$langs->trans("Description")." ".$xnbp;
$line->qty=1; $line->qty=1;
$line->subprice=100; $line->subprice=100;
@ -2243,10 +2249,10 @@ class Commande extends CommonObject
$line->total_tva=19.6; $line->total_tva=19.6;
$line->produit_id=$prodids[$prodid]; $line->produit_id=$prodids[$prodid];
$line->fk_product=$prodids[$prodid]; $line->fk_product=$prodids[$prodid];
$this->lignes[$xnbp]=$line; // TODO: deprecated $this->lignes[$xnbp]=$line; // TODO: deprecated
$this->lines[$xnbp]=$line; $this->lines[$xnbp]=$line;
$xnbp++; $xnbp++;
} }

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;
}
} }
} }