From 1f8e2aa660a7a53f87e0899ece937ee8c3ad8cec Mon Sep 17 00:00:00 2001
From: Laurent Destailleur <eldy@users.sourceforge.net>
Date: Sat, 20 Feb 2010 18:43:33 +0000
Subject: [PATCH] Fix: Error in deleting customer order

---
 htdocs/commande/commande.class.php |  8 +++++++-
 htdocs/commande/fiche.php          | 21 ++++++++++++++-------
 2 files changed, 21 insertions(+), 8 deletions(-)

diff --git a/htdocs/commande/commande.class.php b/htdocs/commande/commande.class.php
index 4bf9efe7ce3..ee623a7d3fc 100644
--- a/htdocs/commande/commande.class.php
+++ b/htdocs/commande/commande.class.php
@@ -1866,29 +1866,35 @@ class Commande extends CommonObject
 	 */
 	function delete($user)
 	{
-		global $conf, $lang;
+		global $conf, $langs;
 
 		$err = 0;
 
 		$this->db->begin();
 
 		$sql = 'DELETE FROM '.MAIN_DB_PREFIX."commandedet WHERE fk_commande = ".$this->id;
+		dol_syslog("Commande::delete sql=".$sql);
 		if (! $this->db->query($sql) )
 		{
+			dol_syslog("Commande::delete error", LOG_ERR);
 			$err++;
 		}
 
 		$sql = 'DELETE FROM '.MAIN_DB_PREFIX."commande WHERE rowid = ".$this->id;
+		dol_syslog("Commande::delete sql=".$sql);
 		if (! $this->db->query($sql) )
 		{
+			dol_syslog("Commande::delete error", LOG_ERR);
 			$err++;
 		}
 
 		$sql = "DELETE FROM ".MAIN_DB_PREFIX."element_element";
 		$sql.= " WHERE fk_target = ".$this->id;
 		$sql.= " AND targettype = '".$this->element."'";
+		dol_syslog("Commande::delete sql=".$sql);
 		if (! $this->db->query($sql) )
 		{
+			dol_syslog("Commande::delete error", LOG_ERR);
 			$err++;
 		}
 
diff --git a/htdocs/commande/fiche.php b/htdocs/commande/fiche.php
index 581cc5360fb..2b53fd050ee 100644
--- a/htdocs/commande/fiche.php
+++ b/htdocs/commande/fiche.php
@@ -1,6 +1,6 @@
 <?php
 /* Copyright (C) 2003-2006 Rodolphe Quiedeville  <rodolphe@quiedeville.org>
- * Copyright (C) 2004-2009 Laurent Destailleur   <eldy@users.sourceforge.net>
+ * Copyright (C) 2004-2010 Laurent Destailleur   <eldy@users.sourceforge.net>
  * Copyright (C) 2005      Marc Barilley / Ocebo <marc@ocebo.com>
  * Copyright (C) 2005-2009 Regis Houssin         <regis@dolibarr.fr>
  * Copyright (C) 2006      Andre Cianfarani      <acianfa@free.fr>
@@ -23,7 +23,7 @@
 /**
  *	\file       htdocs/commande/fiche.php
  *	\ingroup    commande
- *	\brief      Fiche commande client
+ *	\brief      Page to show customer order
  *	\version    $Id$
  */
 
@@ -93,13 +93,20 @@ if ($_REQUEST["action"] == 'confirm_clone' && $_REQUEST['confirm'] == 'yes')
 // Suppression de la commande
 if ($_REQUEST['action'] == 'confirm_delete' && $_REQUEST['confirm'] == 'yes')
 {
-	if ($user->rights->commande->supprimer )
+	if ($user->rights->commande->supprimer)
 	{
 		$commande = new Commande($db);
 		$commande->fetch($_GET['id']);
-		$commande->delete($user);
-		Header('Location: index.php');
-		exit;
+		$result=$commande->delete($user);
+		if ($result > 0)
+		{
+			Header('Location: index.php');
+			exit;
+		}
+		else
+		{
+			$mesg=$commande->error;
+		}
 	}
 }
 
@@ -140,7 +147,7 @@ if ($_POST['action'] == 'classin')
 	$commande->setProject($_POST['projetid']);
 }
 
-// Ajout commande
+// Add order
 if ($_POST['action'] == 'add' && $user->rights->commande->creer)
 {
 	$datecommande='';
-- 
GitLab