diff --git a/htdocs/product/stock/entrepot.class.php b/htdocs/product/stock/entrepot.class.php
index d4be94bb2de..63c9e6697bf 100644
--- a/htdocs/product/stock/entrepot.class.php
+++ b/htdocs/product/stock/entrepot.class.php
@@ -19,53 +19,57 @@
*/
/**
- \file htdocs/product/stock/entrepot.class.php
- \ingroup stock
- \brief Fichier de la classe de gestion des entrepots
- \version $Id$
-*/
+ * \file htdocs/product/stock/entrepot.class.php
+ * \ingroup stock
+ * \brief Fichier de la classe de gestion des entrepots
+ * \version $Id$
+ */
+
+require_once(DOL_DOCUMENT_ROOT."/commonobject.class.php");
-/**
- \class Entrepot
- \brief Classe permettant la gestion des entrepots
-*/
+/**
+ * \class Entrepot
+ * \brief Classe permettant la gestion des entrepots
+ */
-class Entrepot
+class Entrepot extends CommonObject
{
- var $db;
- var $error;
-
- var $id;
- var $libelle;
- var $description;
- //! Statut 1 pour ouvert, 0 pour ferme
- var $statut;
- var $lieu;
- var $address;
- //! Code Postal
- var $cp;
- var $ville;
- var $pays_id;
+ var $db;
+ var $error;
+ var $element='label';
+ var $table_element='entrepot';
- /*
- * \brief Constructeur de l'objet entrepot
- * \param DB Handler d'accès à la base de donnée
- */
- function Entrepot($DB)
- {
- global $langs;
- $this->db = $DB;
-
- $this->statuts[0] = $langs->trans("Closed2");
- $this->statuts[1] = $langs->trans("Opened");
- }
+ var $id;
+ var $libelle;
+ var $description;
+ //! Statut 1 pour ouvert, 0 pour ferme
+ var $statut;
+ var $lieu;
+ var $address;
+ //! Code Postal
+ var $cp;
+ var $ville;
+ var $pays_id;
/*
- * \brief Creation d'un entrepot en base
- * \param Objet user qui crée l'entrepot
- */
- function create($user)
+ * \brief Constructeur de l'objet entrepot
+ * \param DB Handler d'accès à la base de donnée
+ */
+ function Entrepot($DB)
+ {
+ global $langs;
+ $this->db = $DB;
+
+ $this->statuts[0] = $langs->trans("Closed2");
+ $this->statuts[1] = $langs->trans("Opened");
+ }
+
+ /*
+ * \brief Creation d'un entrepot en base
+ * \param Objet user qui crée l'entrepot
+ */
+ function create($user)
{
// Si libelle non defini, erreur
if ($this->libelle == '')
@@ -73,21 +77,21 @@ class Entrepot
$this->error = "ErrorFieldRequired";
return 0;
}
-
+
$this->db->begin();
-
+
$sql = "INSERT INTO ".MAIN_DB_PREFIX."entrepot (datec, fk_user_author, label)";
$sql .= " VALUES (".$this->db->idate(mktime()).",".$user->id.",'".addslashes($this->libelle)."')";
-
+
dolibarr_syslog("Entrepot::create sql=".$sql);
$result=$this->db->query($sql);
if ($result)
{
- $id = $this->db->last_insert_id(MAIN_DB_PREFIX."entrepot");
+ $id = $this->db->last_insert_id(MAIN_DB_PREFIX."entrepot");
if ($id > 0)
{
$this->id = $id;
-
+
if ( $this->update($id, $user) > 0)
{
$this->db->commit();
@@ -113,212 +117,212 @@ class Entrepot
$this->db->rollback();
return -1;
}
-
- }
-
- /*
- * \brief Mise a jour des information d'un entrepot
- * \param id id de l'entrepot à modifier
- * \param user
- */
- function update($id, $user)
- {
- $this->libelle=addslashes(trim($this->libelle));
- $this->description=addslashes(trim($this->description));
- $this->lieu=addslashes(trim($this->lieu));
- $this->address=addslashes(trim($this->address));
- $this->cp=trim($this->cp);
- $this->ville=addslashes(trim($this->ville));
- $this->pays_id=trim($this->pays_id?$this->pays_id:0);
-
- $sql = "UPDATE ".MAIN_DB_PREFIX."entrepot ";
- $sql .= " SET label = '" . $this->libelle ."'";
- $sql .= ",description = '" . $this->description ."'";
- $sql .= ",statut = " . $this->statut ;
- $sql .= ",lieu = '" . $this->lieu ."'";
- $sql .= ",address = '" . $this->address ."'";
- $sql .= ",cp = '" . $this->cp ."'";
- $sql .= ",ville = '" . $this->ville ."'";
- $sql .= ",fk_pays = " . $this->pays_id;
- $sql .= " WHERE rowid = " . $id;
-
- if ( $this->db->query($sql) )
- {
- return 1;
}
- else
+
+ /*
+ * \brief Mise a jour des information d'un entrepot
+ * \param id id de l'entrepot à modifier
+ * \param user
+ */
+ function update($id, $user)
{
+ $this->libelle=addslashes(trim($this->libelle));
+ $this->description=addslashes(trim($this->description));
+
+ $this->lieu=addslashes(trim($this->lieu));
+ $this->address=addslashes(trim($this->address));
+ $this->cp=trim($this->cp);
+ $this->ville=addslashes(trim($this->ville));
+ $this->pays_id=trim($this->pays_id?$this->pays_id:0);
+
+ $sql = "UPDATE ".MAIN_DB_PREFIX."entrepot ";
+ $sql .= " SET label = '" . $this->libelle ."'";
+ $sql .= ",description = '" . $this->description ."'";
+ $sql .= ",statut = " . $this->statut ;
+ $sql .= ",lieu = '" . $this->lieu ."'";
+ $sql .= ",address = '" . $this->address ."'";
+ $sql .= ",cp = '" . $this->cp ."'";
+ $sql .= ",ville = '" . $this->ville ."'";
+ $sql .= ",fk_pays = " . $this->pays_id;
+ $sql .= " WHERE rowid = " . $id;
+
+ if ( $this->db->query($sql) )
+ {
+ return 1;
+ }
+ else
+ {
$this->error=$this->db->error()." sql=$sql";;
dolibarr_syslog("Entrepot::Update return -1");
dolibarr_syslog("Entrepot::Update ".$this->error);
return -1;
+ }
}
- }
-
-
- /**
- * \brief Recupéeration de la base d'un entrepot
- * \param id id de l'entrepot a récupérer
- */
- function fetch ($id)
- {
- $sql = "SELECT rowid, label, description, statut, lieu, address, cp, ville, fk_pays";
- $sql .= " FROM ".MAIN_DB_PREFIX."entrepot";
- $sql .= " WHERE rowid = $id";
-
- $result = $this->db->query($sql);
- if ($result)
- {
+
+
+ /**
+ * \brief Recupéeration de la base d'un entrepot
+ * \param id id de l'entrepot a récupérer
+ */
+ function fetch ($id)
+ {
+ $sql = "SELECT rowid, label, description, statut, lieu, address, cp, ville, fk_pays";
+ $sql .= " FROM ".MAIN_DB_PREFIX."entrepot";
+ $sql .= " WHERE rowid = $id";
+
+ $result = $this->db->query($sql);
+ if ($result)
+ {
$obj=$this->db->fetch_object($result);
-
+
$this->id = $obj->rowid;
$this->ref = $obj->rowid;
$this->libelle = $obj->label;
$this->description = $obj->description;
$this->statut = $obj->statut;
- $this->lieu = $obj->lieu;
+ $this->lieu = $obj->lieu;
$this->address = $obj->address;
$this->cp = $obj->cp;
$this->ville = $obj->ville;
$this->pays_id = $obj->fk_pays;
-
+
if ($this->pays_id)
- {
- $sqlp = "SELECT libelle from ".MAIN_DB_PREFIX."c_pays where rowid = ".$this->pays_id;
- $resql=$this->db->query($sqlp);
- if ($resql)
- {
- $objp = $this->db->fetch_object($resql);
- }
- else
- {
- dolibarr_print_error($db);
- }
- $this->pays=$objp->libelle;
- }
-
+ {
+ $sqlp = "SELECT libelle from ".MAIN_DB_PREFIX."c_pays where rowid = ".$this->pays_id;
+ $resql=$this->db->query($sqlp);
+ if ($resql)
+ {
+ $objp = $this->db->fetch_object($resql);
+ }
+ else
+ {
+ dolibarr_print_error($db);
+ }
+ $this->pays=$objp->libelle;
+ }
+
$this->db->free($result);
return 1;
- }
- else
- {
+ }
+ else
+ {
$this->error=$this->db->error();
return -1;
- }
- }
-
-
- /*
- * \brief Charge les informations d'ordre info dans l'objet entrepot
- * \param id id de l'entrepot a charger
- */
- function info($id)
- {
- $sql = "SELECT e.rowid, ".$this->db->pdate("datec")." as datec,";
- $sql .= " ".$this->db->pdate("tms")." as datem,";
- $sql .= " fk_user_author";
- $sql .= " FROM ".MAIN_DB_PREFIX."entrepot as e";
- $sql .= " WHERE e.rowid = ".$id;
-
- $result=$this->db->query($sql);
- if ($result)
+ }
+ }
+
+
+ /*
+ * \brief Charge les informations d'ordre info dans l'objet entrepot
+ * \param id id de l'entrepot a charger
+ */
+ function info($id)
{
- if ($this->db->num_rows($result))
- {
- $obj = $this->db->fetch_object($result);
+ $sql = "SELECT e.rowid, ".$this->db->pdate("datec")." as datec,";
+ $sql .= " ".$this->db->pdate("tms")." as datem,";
+ $sql .= " fk_user_author";
+ $sql .= " FROM ".MAIN_DB_PREFIX."entrepot as e";
+ $sql .= " WHERE e.rowid = ".$id;
- $this->id = $obj->rowid;
+ $result=$this->db->query($sql);
+ if ($result)
+ {
+ if ($this->db->num_rows($result))
+ {
+ $obj = $this->db->fetch_object($result);
- if ($obj->fk_user_author) {
- $cuser = new User($this->db, $obj->fk_user_author);
- $cuser->fetch();
- $this->user_creation = $cuser;
- }
-
- if ($obj->fk_user_valid) {
- $vuser = new User($this->db, $obj->fk_user_valid);
- $vuser->fetch();
- $this->user_validation = $vuser;
- }
-
- $this->date_creation = $obj->datec;
- $this->date_modification = $obj->datem;
+ $this->id = $obj->rowid;
- }
-
+ if ($obj->fk_user_author) {
+ $cuser = new User($this->db, $obj->fk_user_author);
+ $cuser->fetch();
+ $this->user_creation = $cuser;
+ }
+
+ if ($obj->fk_user_valid) {
+ $vuser = new User($this->db, $obj->fk_user_valid);
+ $vuser->fetch();
+ $this->user_validation = $vuser;
+ }
+
+ $this->date_creation = $obj->datec;
+ $this->date_modification = $obj->datem;
+
+ }
+
$this->db->free($result);
- }
- else
- {
+ }
+ else
+ {
dolibarr_print_error($this->db);
+ }
}
- }
- /**
- * \brief Renvoie la liste des entrepôts ouverts
- */
- function list_array()
- {
- $liste = array();
+ /**
+ * \brief Renvoie la liste des entrepôts ouverts
+ */
+ function list_array()
+ {
+ $liste = array();
- $sql = "SELECT rowid, label";
- $sql.= " FROM ".MAIN_DB_PREFIX."entrepot";
- $sql.= " WHERE statut = 1";
+ $sql = "SELECT rowid, label";
+ $sql.= " FROM ".MAIN_DB_PREFIX."entrepot";
+ $sql.= " WHERE statut = 1";
- $result = $this->db->query($sql) ;
- $i = 0;
- $num = $this->db->num_rows();
-
- if ( $result )
- {
- while ($i < $num)
- {
- $row = $this->db->fetch_row($i);
- $liste[$row[0]] = $row[1];
- $i++;
- }
- $this->db->free();
- }
- return $liste;
- }
+ $result = $this->db->query($sql) ;
+ $i = 0;
+ $num = $this->db->num_rows();
- /**
- * \brief Renvoie le stock (nombre de produits) de l'entrepot
- */
- function nb_products()
- {
- global $conf,$user;
-
- $sql = "SELECT sum(ps.reel)";
- $sql .= " FROM llx_product_stock as ps";
- if ($conf->categorie->enabled && !$user->rights->categorie->voir)
- {
- $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."categorie_product as cp ON cp.fk_product = p.rowid";
- $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."categorie as c ON cp.fk_categorie = c.rowid";
- }
- $sql .= " WHERE ps.fk_entrepot = ".$this->id;
- if ($conf->categorie->enabled && !$user->rights->categorie->voir)
- {
- $sql.= ' AND IFNULL(c.visible,1)=1';
- }
-
- $result = $this->db->query($sql) ;
-
- if ( $result )
- {
- $row = $this->db->fetch_row(0);
- return $row[0];
-
- $this->db->free();
- }
- else
- {
- return 0;
- }
- }
+ if ( $result )
+ {
+ while ($i < $num)
+ {
+ $row = $this->db->fetch_row($i);
+ $liste[$row[0]] = $row[1];
+ $i++;
+ }
+ $this->db->free();
+ }
+ return $liste;
+ }
+
+ /**
+ * \brief Renvoie le stock (nombre de produits) de l'entrepot
+ */
+ function nb_products()
+ {
+ global $conf,$user;
+
+ $sql = "SELECT sum(ps.reel)";
+ $sql .= " FROM llx_product_stock as ps";
+ if ($conf->categorie->enabled && !$user->rights->categorie->voir)
+ {
+ $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."categorie_product as cp ON cp.fk_product = p.rowid";
+ $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."categorie as c ON cp.fk_categorie = c.rowid";
+ }
+ $sql .= " WHERE ps.fk_entrepot = ".$this->id;
+ if ($conf->categorie->enabled && !$user->rights->categorie->voir)
+ {
+ $sql.= ' AND IFNULL(c.visible,1)=1';
+ }
+
+ $result = $this->db->query($sql) ;
+
+ if ( $result )
+ {
+ $row = $this->db->fetch_row(0);
+ return $row[0];
+
+ $this->db->free();
+ }
+ else
+ {
+ return 0;
+ }
+ }
/**
* \brief Retourne le libellé du statut d'un entrepot (ouvert, ferme)
@@ -329,7 +333,7 @@ class Entrepot
{
return $this->LibStatut($this->statut,$mode);
}
-
+
/**
* \brief Renvoi le libellé d'un statut donné
* \param statut Id statut
@@ -378,7 +382,7 @@ class Entrepot
}
}
-
+
/**
* \brief Renvoie nom clicable (avec eventuellement le picto)
* \param withpicto Inclut le picto dans le lien
@@ -388,9 +392,9 @@ class Entrepot
function getNomUrl($withpicto=0,$option='')
{
global $langs;
-
+
$result='';
-
+
$lien='';
$lienfin='';
@@ -398,6 +402,6 @@ class Entrepot
$result.=$lien.$this->libelle.$lienfin;
return $result;
}
-
+
}
?>
diff --git a/htdocs/product/stock/fiche-valo.php b/htdocs/product/stock/fiche-valo.php
index 3fa84aa4828..077e96a0142 100644
--- a/htdocs/product/stock/fiche-valo.php
+++ b/htdocs/product/stock/fiche-valo.php
@@ -37,6 +37,8 @@ $mesg = '';
* View
*/
+$form=new Form($db);
+
llxHeader("","",$langs->trans("WarehouseCard"));
if ($_GET["id"])
@@ -82,13 +84,15 @@ if ($_GET["id"])
$head[$h][1] = $langs->trans("Info");
$h++;
- dolibarr_fiche_head($head, $hselected, $langs->trans("Warehouse").': '.$entrepot->libelle);
+ dolibarr_fiche_head($head, $hselected, $langs->trans("Warehouse"));
print '
';
// Ref
- print '| '.$langs->trans("Ref").' | '.$entrepot->libelle.' | ';
-
+ print '
| '.$langs->trans("Ref").' | ';
+ print $form->showrefnav($entrepot,'id','',1,'rowid','libelle');
+ print ' | ';
+
print '
| '.$langs->trans("LocationSummary").' | '.$entrepot->lieu.' |
';
// Description
diff --git a/htdocs/product/stock/fiche.php b/htdocs/product/stock/fiche.php
index ab257ad6f6f..02b952703cf 100644
--- a/htdocs/product/stock/fiche.php
+++ b/htdocs/product/stock/fiche.php
@@ -20,10 +20,10 @@
*/
/**
- \file htdocs/product/stock/fiche.php
- \ingroup stock
- \brief Page fiche entrepot
- \version $Id$
+ * \file htdocs/product/stock/fiche.php
+ * \ingroup stock
+ * \brief Page fiche entrepot
+ * \version $Id$
*/
require("./pre.inc.php");
@@ -123,9 +123,10 @@ if ($_POST["cancel"] == $langs->trans("Cancel"))
* View
*/
+$form=new Form($db);
+
llxHeader("","",$langs->trans("WarehouseCard"));
-$form=new Form($db);
if ($_GET["action"] == 'create')
{
@@ -143,7 +144,7 @@ if ($_GET["action"] == 'create')
// Ref
print '| '.$langs->trans("Ref").' | |
';
-
+
print '| '.$langs->trans("LocationSummary").' | |
';
// Description
@@ -235,13 +236,15 @@ else
$head[$h][1] = $langs->trans("Info");
$h++;
- dolibarr_fiche_head($head, $hselected, $langs->trans("Warehouse").': '.$entrepot->libelle);
+ dolibarr_fiche_head($head, $hselected, $langs->trans("Warehouse"));
print '';
// Ref
- print '| '.$langs->trans("Ref").' | '.$entrepot->libelle.' | ';
-
+ print '
| '.$langs->trans("Ref").' | ';
+ print $form->showrefnav($entrepot,'id','',1,'rowid','libelle');
+ print ' | ';
+
print '
| '.$langs->trans("LocationSummary").' | '.$entrepot->lieu.' |
';
// Description
diff --git a/htdocs/product/stock/mouvement.php b/htdocs/product/stock/mouvement.php
index 6a9005dc8c9..e66fbbdf8e3 100644
--- a/htdocs/product/stock/mouvement.php
+++ b/htdocs/product/stock/mouvement.php
@@ -41,6 +41,11 @@ if (! $sortfield) $sortfield="m.datem";
if (! $sortorder) $sortorder="DESC";
+/*
+ * View
+ */
+
+$form=new Form($db);
$sql = "SELECT p.rowid, p.label as produit,";
$sql.= " s.label as stock, s.rowid as entrepot_id,";
@@ -116,13 +121,15 @@ if ($resql)
$head[$h][1] = $langs->trans("Info");
$h++;
- dolibarr_fiche_head($head, $hselected, $langs->trans("Warehouse").': '.$entrepot->libelle);
+ dolibarr_fiche_head($head, $hselected, $langs->trans("Warehouse"));
print '';
// Ref
- print '| '.$langs->trans("Ref").' | '.$entrepot->libelle.' | ';
-
+ print '
| '.$langs->trans("Ref").' | ';
+ print $form->showrefnav($entrepot,'id','',1,'rowid','libelle');
+ print ' | ';
+
print '
| '.$langs->trans("LocationSummary").' | '.$entrepot->lieu.' |
';
// Statut