From c197d3c9ede3a90f214cc395c7a90892a1e5a550 Mon Sep 17 00:00:00 2001
From: Laurent Destailleur <eldy@users.sourceforge.net>
Date: Wed, 28 May 2008 18:02:18 +0000
Subject: [PATCH] Fix: Bad request

---
 htdocs/livraison/fiche.php           |  2 +-
 htdocs/livraison/livraison.class.php | 24 +++++++-----------------
 2 files changed, 8 insertions(+), 18 deletions(-)

diff --git a/htdocs/livraison/fiche.php b/htdocs/livraison/fiche.php
index 90c746b94ac..e5ccdad1099 100644
--- a/htdocs/livraison/fiche.php
+++ b/htdocs/livraison/fiche.php
@@ -569,7 +569,7 @@ else
       $sql.= " FROM ".MAIN_DB_PREFIX."commandedet as cd";
       $sql.= " , ".MAIN_DB_PREFIX."livraisondet as ld, ".MAIN_DB_PREFIX."livraison as l";
       $sql.= " WHERE l.rowid <> ".$livraison->id;
-      $sql.= " AND cd.rowid = ld.fk_commande_ligne";
+      $sql.= " AND cd.rowid = ld.fk_origin_line";
       $sql.= " AND ld.fk_livraison = l.rowid";
       $sql.= " AND l.fk_statut > 0";
       $sql.= " ORDER BY cd.fk_product";
diff --git a/htdocs/livraison/livraison.class.php b/htdocs/livraison/livraison.class.php
index acaa912ad34..4e5290cf444 100644
--- a/htdocs/livraison/livraison.class.php
+++ b/htdocs/livraison/livraison.class.php
@@ -120,10 +120,10 @@ class Livraison extends CommonObject
 				*/
 				for ($i = 0 ; $i < sizeof($this->lignes) ; $i++)
 				{
-					$origin_id=$this->lignes[$i]->origin_ligne_id;
+					$origin_id=$this->lignes[$i]->origin_line_id;
 					if (! $origin_id) $origin_id=$this->lignes[$i]->commande_ligne_id;	// For backward compatibility
 					
-					if (! $this->create_line(0, $origin_id, $this->lignes[$i]->qty))
+					if (! $this->create_line(0, $origin_id, $this->lignes[$i]->qty, $this->lignes[$i]->fk_product))
 					{
 						$error++;
 					}
@@ -178,24 +178,14 @@ class Livraison extends CommonObject
 	*
 	*
 	*/
-	function create_line($transaction, $commande_ligne_id, $qty)
+	function create_line($transaction, $commande_ligne_id, $qty, $fk_product=0)
 	{
 		$error = 0;
-		$idprod = 0;
+		$idprod = $fk_product;
 		$j = 0;
 	
-		// Search product id
-		while (($j < sizeof($this->commande->lignes)) && idprod == 0)
-		{
-			if ($this->commande->lignes[$j]->id == $commande_ligne_id)
-			{
-				$idprod = $this->commande->lignes[$j]->fk_product;
-			}
-			$j++;
-		}
-	
 		$sql = "INSERT INTO ".MAIN_DB_PREFIX."livraisondet (fk_livraison, fk_origin_line,";
-		if ($idprod) $sql.=" fk_product";
+		if ($idprod) $sql.=" fk_product,";
 		$sql.= " qty)";
 		$sql.= " VALUES (".$this->id.",".$commande_ligne_id.",";
 		if ($idprod) $sql.=" ".$idprod.",";
@@ -480,9 +470,9 @@ class Livraison extends CommonObject
 		for ($i = 0 ; $i < sizeof($expedition->lignes) ; $i++)
 		{
 			$LivraisonLigne = new LivraisonLigne($this->db);
-			$LivraisonLigne->origin_ligne_id   = $expedition->lignes[$i]->origin_line_id;
+			$LivraisonLigne->origin_line_id    = $expedition->lignes[$i]->origin_line_id;
 			$LivraisonLigne->libelle           = $expedition->lignes[$i]->libelle;
-			$LivraisonLigne->description       = $expedition->lignes[$i]->product_desc;
+			$LivraisonLigne->description       = $expedition->lignes[$i]->description;
 			$LivraisonLigne->qty               = $expedition->lignes[$i]->qty_shipped;
 			$LivraisonLigne->fk_product        = $expedition->lignes[$i]->fk_product;
 			$LivraisonLigne->ref               = $expedition->lignes[$i]->ref;
-- 
GitLab