diff --git a/htdocs/includes/modules/livraison/mod_livraison_jade.php b/htdocs/includes/modules/livraison/mod_livraison_jade.php index 6ddce177de5..02c3b93dd3b 100644 --- a/htdocs/includes/modules/livraison/mod_livraison_jade.php +++ b/htdocs/includes/modules/livraison/mod_livraison_jade.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2007 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2004-2008 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify @@ -65,12 +65,15 @@ class mod_livraison_jade extends ModeleNumRefDeliveryOrder */ function getNextValue($objsoc=0,$livraison='') { - global $db; + global $db,$conf; - // D'abord on r�cup�re la valeur max (r�ponse imm�diate car champ ind�x�) + // D'abord on recupere la valeur max (reponse immediate car champ indexe) $blyy=''; + $sql = "SELECT MAX(ref)"; $sql.= " FROM ".MAIN_DB_PREFIX."livraison"; + $sql.= " WHERE entity = ".$conf->entity; + $resql=$db->query($sql); if ($resql) { @@ -78,14 +81,17 @@ class mod_livraison_jade extends ModeleNumRefDeliveryOrder if ($row) $blyy = substr($row[0],0,4); } - // Si au moins un champ respectant le mod�le a �t� trouv�e + // Si au moins un champ respectant le modele a ete trouvee if (eregi('BL[0-9][0-9]',$blyy)) { - // Recherche rapide car restreint par un like sur champ index� + // Recherche rapide car restreint par un like sur champ indexe $posindice=5; + $sql = "SELECT MAX(0+SUBSTRING(ref,$posindice))"; $sql.= " FROM ".MAIN_DB_PREFIX."livraison"; $sql.= " WHERE ref like '".$blyy."%'"; + $sql.= " AND entity = ".$conf->entity; + $resql=$db->query($sql); if ($resql) { @@ -106,8 +112,8 @@ class mod_livraison_jade extends ModeleNumRefDeliveryOrder } - /** \brief Renvoie la r�f�rence de commande suivante non utilis�e - * \param objsoc Objet soci�t� + /** \brief Renvoie la reference de commande suivante non utilisee + * \param objsoc Objet societe * \param livraison Objet livraison * \return string Texte descripif */ diff --git a/htdocs/includes/modules/livraison/modules_livraison.php b/htdocs/includes/modules/livraison/modules_livraison.php index 4db4022f6bd..eed6c3d4c56 100644 --- a/htdocs/includes/modules/livraison/modules_livraison.php +++ b/htdocs/includes/modules/livraison/modules_livraison.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2004 Rodolphe Quiedeville * Copyright (C) 2004-2008 Laurent Destailleur * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2006 Regis Houssin + * Copyright (C) 2006-2009 Regis Houssin * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -34,14 +34,14 @@ require_once(DOL_DOCUMENT_ROOT.'/includes/fpdf/fpdfi/fpdi_protection.php'); /** \class ModelePDFDeliveryOrder - \brief Classe m�re des mod�les de bon de livraison + \brief Classe mere des modeles de bon de livraison */ class ModelePDFDeliveryOrder extends FPDF { var $error=''; /** - \brief Renvoi le dernier message d'erreur de cr�ation de PDF de bon de livraison + \brief Renvoi le dernier message d'erreur de creation de PDF de bon de livraison */ function pdferror() { @@ -49,15 +49,19 @@ class ModelePDFDeliveryOrder extends FPDF } /** - * \brief Renvoi la liste des mod�les actifs + * \brief Renvoi la liste des modeles actifs */ function liste_modeles($db) { + global $conf; + $type='delivery'; $liste=array(); - $sql ="SELECT nom as id, nom as lib"; - $sql.=" FROM ".MAIN_DB_PREFIX."document_model"; - $sql.=" WHERE type = '".$type."'"; + + $sql = "SELECT nom as id, nom as lib"; + $sql.= " FROM ".MAIN_DB_PREFIX."document_model"; + $sql.= " WHERE type = '".$type."'"; + $sql.= " AND entity = ".$conf->entity; $resql = $db->query($sql); if ($resql) @@ -85,7 +89,7 @@ class ModelePDFDeliveryOrder extends FPDF /** \class ModeleNumRefDeliveryOrder - \brief Classe m�re des mod�les de num�rotation des r�f�rences de bon de livraison + \brief Classe mere des modeles de numerotation des references de bon de livraison */ class ModeleNumRefDeliveryOrder @@ -100,7 +104,7 @@ class ModeleNumRefDeliveryOrder return true; } - /** \brief Renvoi la description par defaut du modele de num�rotation + /** \brief Renvoi la description par defaut du modele de numerotation * \return string Texte descripif */ function info() @@ -110,7 +114,7 @@ class ModeleNumRefDeliveryOrder return $langs->trans("NoDescription"); } - /** \brief Renvoi un exemple de num�rotation + /** \brief Renvoi un exemple de numerotation * \return string Example */ function getExample() @@ -120,8 +124,8 @@ class ModeleNumRefDeliveryOrder return $langs->trans("NoExample"); } - /** \brief Test si les num�ros d�j� en vigueur dans la base ne provoquent pas d - * de conflits qui empechera cette num�rotation de fonctionner. + /** \brief Test si les numeros deja en vigueur dans la base ne provoquent pas d + * de conflits qui empechera cette numerotation de fonctionner. * \return boolean false si conflit, true si ok */ function canBeActivated() @@ -129,7 +133,7 @@ class ModeleNumRefDeliveryOrder return true; } - /** \brief Renvoi prochaine valeur attribu�e + /** \brief Renvoi prochaine valeur attribuee * \return string Valeur */ function getNextValue() diff --git a/htdocs/lib/functions.lib.php b/htdocs/lib/functions.lib.php index e288ce27eb8..63d9bf29209 100644 --- a/htdocs/lib/functions.lib.php +++ b/htdocs/lib/functions.lib.php @@ -1498,7 +1498,7 @@ function restrictedArea($user, $feature='societe', $objectid=0, $dbtablename='', } } - //print $sql."
"; + print $sql."
"; if ($sql) { $resql=$db->query($sql); diff --git a/htdocs/livraison/livraison.class.php b/htdocs/livraison/livraison.class.php index ca12ee380a3..c4a94e48532 100644 --- a/htdocs/livraison/livraison.class.php +++ b/htdocs/livraison/livraison.class.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2008 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2006-2007 Laurent Destailleur * Copyright (C) 2007 Franky Van Liedekerke * @@ -87,16 +87,27 @@ class Livraison extends CommonObject $this->brouillon = 1; $this->user = $user; + if ($this->expedition_id) $expedition_id $this->db->begin(); - $sql = "INSERT INTO ".MAIN_DB_PREFIX."livraison (ref, fk_soc, date_creation, fk_user_author,"; - $sql.= " fk_adresse_livraison"; - if ($this->expedition_id) $sql.= ", fk_expedition"; + $sql = "INSERT INTO ".MAIN_DB_PREFIX."livraison ("; + $sql.= "ref"; + $sql.= ", entity"; + $sql.= ", fk_soc"; + $sql.= ", date_creation"; + $sql.= ", fk_user_author"; + $sql.= ", fk_adresse_livraison"; + $sql.= ", fk_expedition"; $sql.= ")"; - $sql.= " VALUES ('(PROV)', ".$this->socid.", ".$this->db->idate(mktime()).", $user->id,"; - $sql.= " ".($this->adresse_livraison_id > 0?$this->adresse_livraison_id:"null"); - if ($this->expedition_id) $sql.= ", $this->expedition_id"; + $sql.= " VALUES ("; + $sql.= "'(PROV)'"; + $sql.= ", ".$conf->entity; + $sql.= ", ".$this->socid; + $sql.= ", ".$this->db->idate(mktime()); + $sql.= ", ".$user->id; + $sql.= ", ".($this->adresse_livraison_id > 0 ? $this->adresse_livraison_id : "null"); + $sql.= ", ".($this->expedition_id ? $this->expedition_id : "null"); $sql.= ")"; dol_syslog("Livraison::create sql=".$sql, LOG_DEBUG); @@ -107,7 +118,8 @@ class Livraison extends CommonObject $numref="(PROV".$this->id.")"; $sql = "UPDATE ".MAIN_DB_PREFIX."livraison "; - $sql.= "SET ref='".addslashes($numref)."' WHERE rowid=".$this->id; + $sql.= "SET ref = '".addslashes($numref); + $sql.= " WHERE rowid = ".$this->id; dol_syslog("Livraison::create sql=".$sql, LOG_DEBUG); $resql=$this->db->query($sql); @@ -139,7 +151,7 @@ class Livraison extends CommonObject { $sql = "UPDATE ".MAIN_DB_PREFIX."commande"; $sql.= " SET fk_statut = 2"; - $sql.= " WHERE rowid=".$this->commande_id; + $sql.= " WHERE rowid = ".$this->commande_id; dol_syslog("Livraison::create sql=".$sql, LOG_DEBUG); $resql=$this->db->query($sql); @@ -341,14 +353,14 @@ class Livraison extends CommonObject $soc = new Societe($this->db); $soc->fetch($this->socid); - // on verifie si le bon de livraison est en num�rotation provisoire + // on verifie si le bon de livraison est en numerotation provisoire $livref = substr($this->ref, 1, 4); if ($livref == 'PROV') { $this->ref = $objMod->livraison_get_num($soc,$this); } - // Tester si non dej� au statut valid�. Si oui, on arrete afin d'�viter + // Tester si non deja au statut valide. Si oui, on arrete afin d'eviter // de decrementer 2 fois le stock. $sql = "SELECT ref FROM ".MAIN_DB_PREFIX."livraison where ref='".$this->ref."' AND fk_statut <> 0"; $resql=$this->db->query($sql); @@ -377,8 +389,10 @@ class Livraison extends CommonObject dol_syslog("livraison.class.php::valid enregistrement des mouvements"); $sql = "SELECT cd.fk_product, ld.qty "; - $sql.= " FROM ".MAIN_DB_PREFIX."commandedet as cd, ".MAIN_DB_PREFIX."livraisondet as ld"; - $sql.= " WHERE ld.fk_livraison = $this->id AND cd.rowid = ld.fk_commande_ligne"; + $sql.= " FROM ".MAIN_DB_PREFIX."commandedet as cd"; + $sql.= ", ".MAIN_DB_PREFIX."livraisondet as ld"; + $sql.= " WHERE ld.fk_livraison = ".$this->id; + $sql.= " AND cd.rowid = ld.fk_commande_ligne"; $resql=$this->db->query($sql); if ($resql) @@ -463,9 +477,9 @@ class Livraison extends CommonObject return 1; } - /** \brief Cr�� le bon de livraison depuis une expedition existante - * \param user Utilisateur qui cr�e - * \param sending_id Id de l'exp�dition qui sert de mod�le + /** \brief Cree le bon de livraison depuis une expedition existante + * \param user Utilisateur qui cree + * \param sending_id Id de l'expedition qui sert de modele */ function create_from_sending($user, $sending_id) { @@ -523,7 +537,8 @@ class Livraison extends CommonObject { if ($this->statut == 0) { - $sql = "DELETE FROM ".MAIN_DB_PREFIX."commandedet WHERE rowid = $idligne"; + $sql = "DELETE FROM ".MAIN_DB_PREFIX."commandedet"; + $sql.= " WHERE rowid = ".$idligne; if ($this->db->query($sql) ) { @@ -546,10 +561,12 @@ class Livraison extends CommonObject { $this->db->begin(); - $sql = "DELETE FROM ".MAIN_DB_PREFIX."livraisondet WHERE fk_livraison = $this->id ;"; + $sql = "DELETE FROM ".MAIN_DB_PREFIX."livraisondet"; + $sql.= " WHERE fk_livraison = ".$this->id; if ( $this->db->query($sql) ) { - $sql = "DELETE FROM ".MAIN_DB_PREFIX."livraison WHERE rowid = $this->id;"; + $sql = "DELETE FROM ".MAIN_DB_PREFIX."livraison"; + $sql.= " WHERE rowid = ".$this->id; if ( $this->db->query($sql) ) { $this->db->commit(); @@ -631,7 +648,8 @@ class Livraison extends CommonObject $sql.= " p.ref, p.fk_product_type as fk_product_type, p.label as label, p.description as product_desc"; $sql.= " FROM ".MAIN_DB_PREFIX."commandedet as cd, ".MAIN_DB_PREFIX."livraisondet as ld"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product as p on p.rowid = ld.fk_product"; - $sql.= " WHERE ld.fk_origin_line = cd.rowid AND ld.fk_livraison = ".$this->id; + $sql.= " WHERE ld.fk_origin_line = cd.rowid"; + $sql.= " AND ld.fk_livraison = ".$this->id; dol_syslog("Livraison::fetch_lignes sql=".$sql); $resql = $this->db->query($sql); @@ -670,8 +688,8 @@ class Livraison extends CommonObject /** - * \brief Retourne le libell� du statut d'une expedition - * \return string Libell� + * \brief Retourne le libelle du statut d'une expedition + * \return string Libelle */ function getLibStatut($mode=0) { @@ -679,10 +697,10 @@ class Livraison extends CommonObject } /** - * \brief Renvoi le libell� d'un statut donn� + * \brief Renvoi le libelle d'un statut donne * \param statut Id statut - * \param mode 0=libell� long, 1=libell� court, 2=Picto + Libell� court, 3=Picto, 4=Picto + Libell� long, 5=Libell� court + Picto - * \return string Libell� + * \param mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto + * \return string Libelle */ function LibStatut($statut,$mode) { @@ -714,11 +732,17 @@ class Livraison extends CommonObject */ function initAsSpecimen() { - global $user,$langs; + global $user,$langs,$conf; // Charge tableau des id de societe socids $socids = array(); - $sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."societe WHERE client=1 LIMIT 10"; + + $sql = "SELECT rowid"; + $sql.= " FROM ".MAIN_DB_PREFIX."societe"; + $sql.= " WHERE client = 1"; + $sql.= " AND entity = ".$conf->entity; + $sql.= " LIMIT 10"; + $resql = $this->db->query($sql); if ($resql) { @@ -735,7 +759,12 @@ class Livraison extends CommonObject // Charge tableau des produits prodids $prodids = array(); - $sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."product WHERE envente=1"; + + $sql = "SELECT rowid"; + $sql.= " FROM ".MAIN_DB_PREFIX."product"; + $sql.= " WHERE envente = 1"; + $sql.= " AND entity = ".$conf->entity; + $resql = $this->db->query($sql); if ($resql) {