2
0
forked from Wavyzz/dolibarr

Fix: Error in deleting customer order

This commit is contained in:
Laurent Destailleur
2010-02-20 18:43:33 +00:00
parent 770055cd26
commit 1f8e2aa660
2 changed files with 21 additions and 8 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

@@ -1,6 +1,6 @@
<?php <?php
/* Copyright (C) 2003-2006 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* 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 Marc Barilley / Ocebo <marc@ocebo.com>
* Copyright (C) 2005-2009 Regis Houssin <regis@dolibarr.fr> * Copyright (C) 2005-2009 Regis Houssin <regis@dolibarr.fr>
* Copyright (C) 2006 Andre Cianfarani <acianfa@free.fr> * Copyright (C) 2006 Andre Cianfarani <acianfa@free.fr>
@@ -23,7 +23,7 @@
/** /**
* \file htdocs/commande/fiche.php * \file htdocs/commande/fiche.php
* \ingroup commande * \ingroup commande
* \brief Fiche commande client * \brief Page to show customer order
* \version $Id$ * \version $Id$
*/ */
@@ -93,13 +93,20 @@ if ($_REQUEST["action"] == 'confirm_clone' && $_REQUEST['confirm'] == 'yes')
// Suppression de la commande // Suppression de la commande
if ($_REQUEST['action'] == 'confirm_delete' && $_REQUEST['confirm'] == 'yes') if ($_REQUEST['action'] == 'confirm_delete' && $_REQUEST['confirm'] == 'yes')
{ {
if ($user->rights->commande->supprimer ) if ($user->rights->commande->supprimer)
{ {
$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;
}
} }
} }
@@ -140,7 +147,7 @@ if ($_POST['action'] == 'classin')
$commande->setProject($_POST['projetid']); $commande->setProject($_POST['projetid']);
} }
// Ajout commande // Add order
if ($_POST['action'] == 'add' && $user->rights->commande->creer) if ($_POST['action'] == 'add' && $user->rights->commande->creer)
{ {
$datecommande=''; $datecommande='';