From b8dbecd20d9dca28396ed5ebd5836dbd5c3a130e Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 3 Dec 2005 03:49:00 +0000 Subject: [PATCH] =?UTF-8?q?task=20#5005=20overview:=20Ajout=20bouton=20"su?= =?UTF-8?q?ivant"=20et=20"pr=E9c=E9dent"=20dans=20un=20fiche=20produit?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- htdocs/lib/functions.inc.php | 17 +++++--- htdocs/lib/mysql.lib.php | 25 ++++++++++++ htdocs/product.class.php | 61 ++++++++++++++++++++++++++--- htdocs/product/barcode.php | 16 +++++++- htdocs/product/document.php | 39 ++++++++++++------ htdocs/product/fiche.php | 36 ++++++++++++----- htdocs/product/fournisseurs.php | 40 +++++++++++++------ htdocs/product/photos.php | 23 ++++++++--- htdocs/product/price.php | 19 +++++++-- htdocs/product/stats/facture.php | 38 ++++++++++-------- htdocs/product/stats/fiche.php | 31 ++++++++++----- htdocs/product/stock/product.php | 44 ++++++++++++--------- htdocs/theme/eldy/eldy.css.php | 3 +- htdocs/theme/eldy/img/boule.png | Bin 0 -> 1187 bytes htdocs/theme/eldy/img/next.png | Bin 810 -> 1186 bytes htdocs/theme/eldy/img/previous.png | Bin 784 -> 1182 bytes 16 files changed, 290 insertions(+), 102 deletions(-) create mode 100644 htdocs/theme/eldy/img/boule.png diff --git a/htdocs/lib/functions.inc.php b/htdocs/lib/functions.inc.php index 9d454bb5b1e..9e5a25982dd 100644 --- a/htdocs/lib/functions.inc.php +++ b/htdocs/lib/functions.inc.php @@ -219,21 +219,25 @@ function dolibarr_syslog($message, $level=LOG_ERR) /** \brief Affiche le header d'une fiche - \param links liens - \param active 0 par défaut - \param title titre ("" par defaut) + \param links Tableau de titre d'onglets + \param active 0=onglet non actif, 1=onglet actif + \param title Titre tabelau ("" par defaut) */ function dolibarr_fiche_head($links, $active=0, $title='') { print '
'."\n"; - if (strlen($title)) + // Affichage titre + if ($title) { $limittitle=30; - if (strlen($title) > $limittitle) print ''.substr($title,0,$limittitle).'...'; - else print ''.$title.''; + print ''; + if (strlen($title) > $limittitle) print substr($title,0,$limittitle).'...'; + else print $title; + print ''; } + // Affichage onglets for ($i = 0 ; $i < sizeof($links) ; $i++) { if ($links[$i][2] == 'image') @@ -254,6 +258,7 @@ function dolibarr_fiche_head($links, $active=0, $title='') } print "
\n"; + print '
'."\n\n"; } diff --git a/htdocs/lib/mysql.lib.php b/htdocs/lib/mysql.lib.php index bf73b287faf..d0b427d1339 100644 --- a/htdocs/lib/mysql.lib.php +++ b/htdocs/lib/mysql.lib.php @@ -179,6 +179,31 @@ class DoliDb return $this->db; } + + /** + \brief Renvoie la version du serveur + \return string Chaine version + */ + function getVersion() + { + $resql=$this->query('SELECT VERSION()'); + $row=$this->fetch_row($resql); + return $row[0]; + } + + + /** + \brief Renvoie l'id de la connection + \return string Id connection + */ + function getConnectId() + { + $resql=$this->query('SELECT CONNECTION_ID()'); + $row=$this->fetch_row($resql); + return $row[0]; + } + + /** \brief Création d'une nouvelle base de donnée \param database nom de la database à créer diff --git a/htdocs/product.class.php b/htdocs/product.class.php index d7e1f6735a8..85a89bb589f 100644 --- a/htdocs/product.class.php +++ b/htdocs/product.class.php @@ -404,17 +404,29 @@ class Product /** - * \brief Charge le produit/service en mémoire - * \param id id du produit/service à charger + * \brief Charge le produit/service en mémoire + * \param id Id du produit/service à charger + * \param ref Ref du produit/service à charger + * \return int <0 si ko, >0 si ok */ - function fetch ($id) + function fetch($id='',$ref='') { + global $langs; + + // Verification parametres + if (! $id && ! $ref) + { + $this->error=$langs->trans('ErrorWrongParameters'); + return -1; + } + $sql = "SELECT rowid, ref, label, description, note, price, tva_tx, envente,"; $sql.= " nbvente, fk_product_type, duration, seuil_stock_alerte"; - $sql.= " FROM ".MAIN_DB_PREFIX."product WHERE rowid = $id"; + $sql.= " FROM ".MAIN_DB_PREFIX."product"; + if ($id) $sql.= " WHERE rowid = ".$id; + if ($ref) $sql.= " WHERE ref = '".addslashes($ref)."'"; $result = $this->db->query($sql) ; - if ( $result ) { $result = $this->db->fetch_array(); @@ -451,7 +463,7 @@ class Product $this->db->free(); $sql = "SELECT reel, fk_entrepot"; - $sql .= " FROM ".MAIN_DB_PREFIX."product_stock WHERE fk_product = ".$id; + $sql .= " FROM ".MAIN_DB_PREFIX."product_stock WHERE fk_product = ".$this->id; $result = $this->db->query($sql) ; if ($result) { @@ -491,6 +503,43 @@ class Product } + /** + * \brief Charge les propriétés ref_previous et ref_next + * \param filter filtre + * \return int <0 si ko, >0 si ok + */ + function load_previous_next_ref($filtre='') + { + $sql = "SELECT MAX(ref)"; + $sql.= " FROM ".MAIN_DB_PREFIX."product"; + $sql.= " WHERE ref < '".addslashes($this->ref)."'"; + if ($filter) $sql.=" AND ".$filter; + $result = $this->db->query($sql) ; + if (! $result) + { + $this->error=$this->db->error(); + return -1; + } + $row = $this->db->fetch_row($result); + $this->ref_previous = $row[0]; + + $sql = "SELECT MIN(ref)"; + $sql.= " FROM ".MAIN_DB_PREFIX."product"; + $sql.= " WHERE ref > '".addslashes($this->ref)."'"; + if ($filter) $sql.=" AND ".$filter; + $result = $this->db->query($sql) ; + if (! $result) + { + $this->error=$this->db->error(); + return -2; + } + $row = $this->db->fetch_row($result); + $this->ref_next = $row[0]; + + return 1; + } + + /** * \brief Charge tableau des stats propale pour le produit/service * \param socid Id societe diff --git a/htdocs/product/barcode.php b/htdocs/product/barcode.php index 8e7c39cbbc7..398d9f9fa4c 100644 --- a/htdocs/product/barcode.php +++ b/htdocs/product/barcode.php @@ -50,7 +50,8 @@ $types[1] = $langs->trans("Service"); llxHeader("","",$langs->trans("BarCode")); $product = new Product($db); -$result = $product->fetch($_GET["id"]); +if ($_GET["ref"]) $result = $product->fetch('',$_GET["ref"]); +if ($_GET["id"]) $result = $product->fetch($_GET["id"]); $h=0; @@ -120,9 +121,20 @@ $h++; dolibarr_fiche_head($head, $hselected, $langs->trans("CardProduct".$product->type).' : '.$product->ref); print ''; + +// Reference print ''; -print ''; +print ''; print ''; + +// Libelle print ''; print ''; diff --git a/htdocs/product/document.php b/htdocs/product/document.php index a529382dad4..f1092d39bdf 100755 --- a/htdocs/product/document.php +++ b/htdocs/product/document.php @@ -38,20 +38,23 @@ $user->getrights('produit'); if (!$user->rights->produit->lire) accessforbidden(); -$productid=empty($_GET['id']) ? 0 : intVal($_GET['id']); $action=empty($_GET['action']) ? (empty($_POST['action']) ? '' : $_POST['action']) : $_GET['action']; -if ($productid > 0) + +$product = new Product($db); +if ($_GET['id'] || $_GET["ref"]) { - $product = new Product($db); - if ($product->fetch($productid)) + if ($_GET["ref"]) $result = $product->fetch('',$_GET["ref"]); + if ($_GET["id"]) $result = $product->fetch($_GET["id"]); + $prodref = sanitize_string($product->ref); $upload_dir = $conf->produit->dir_output.'/'.$prodref; } + /* * Action envoie fichier */ -if ( $_POST["sendit"] && $conf->upload) +if ($_POST["sendit"] && $conf->upload) { /* * Creation répertoire si n'existe pas @@ -79,7 +82,7 @@ if ( $_POST["sendit"] && $conf->upload) llxHeader(); -if ($productid > 0) +if ($product->id) { if ( $error_msg ) { @@ -157,7 +160,8 @@ if ($productid > 0) $hselected=$h; $h++; - dolibarr_fiche_head($head, $hselected, $langs->trans("CardProduct".$product->type).' : '.$product->ref); + $titre=$langs->trans("CardProduct".$product->type); + dolibarr_fiche_head($head, $hselected, $titre); // Construit liste des fichiers clearstatcache(); @@ -188,9 +192,23 @@ if ($productid > 0) // print '
'.$langs->trans("ErrorCanNotReadDir",$upload_dir).'
'; } - print '
'.$langs->trans("Ref").''.$product->ref.''.$langs->trans("Ref").''; +$product->load_previous_next_ref(); +$previous_ref = $product->ref_previous?''.img_previous().'':''; +$next_ref = $product->ref_next?''.img_next().'':''; +if ($previous_ref || $next_ref) print '
'; +print ''.$product->ref.''; +if ($previous_ref || $next_ref) print ''.$previous_ref.''.$next_ref.'
'; +print '
'.$langs->trans("Label").''.$product->libelle.'
'; - print ''; - print ''; + print '
'.$langs->trans("Ref").''.$product->ref.'
'.$langs->trans("Label").''.$product->libelle.'
'; + + // Reference + print ''; + print ''; + print ''; + + // Libelle + print ''; + print ''; print ''; print '
'.$langs->trans("Ref").''; + $product->load_previous_next_ref(); + $previous_ref = $product->ref_previous?''.img_previous().'':''; + $next_ref = $product->ref_next?''.img_next().'':''; + if ($previous_ref || $next_ref) print '
'; + print ''.$product->ref.''; + if ($previous_ref || $next_ref) print ''.$previous_ref.''.$next_ref.'
'; + print '
'.$langs->trans("Label").''.$product->libelle.'
'.$langs->trans("NbOfAttachedFiles").''.sizeof($filearray).'
'.$langs->trans("TotalSizeOfAttachedFiles").''.$totalsize.' '.$langs->trans("bytes").'
'; @@ -263,7 +281,6 @@ if ($productid > 0) } print ''; - print '
'; } else { diff --git a/htdocs/product/fiche.php b/htdocs/product/fiche.php index 0d8841341d4..209b2a4da5b 100644 --- a/htdocs/product/fiche.php +++ b/htdocs/product/fiche.php @@ -44,15 +44,17 @@ if (!$user->rights->produit->lire) accessforbidden(); $types[0] = $langs->trans("Product"); $types[1] = $langs->trans("Service"); + /* * */ if ($_GET["action"] == 'fastappro') { - $product = new Product($db); - $product->fetch($_GET["id"]); - $result = $product->fastappro($user); - Header("Location: fiche.php?id=".$_GET["id"]); + $product = new Product($db); + $product->fetch($_GET["id"]); + $result = $product->fastappro($user); + Header("Location: fiche.php?id=".$_GET["id"]); + exit; } @@ -80,6 +82,7 @@ if ($_POST["action"] == 'add' && $user->rights->produit->creer) if ($id > 0) { Header("Location: fiche.php?id=$id"); + exit; } else { @@ -158,6 +161,8 @@ if ($_GET["action"] == 'clone' && $user->rights->produit->creer) $db->commit(); Header("Location: fiche.php?id=$id"); + $db->close(); + exit; } else if ($id == -3) { @@ -334,13 +339,14 @@ if ($_GET["action"] == 'create' && $user->rights->produit->creer) /* * Fiche produit */ -if ($_GET["id"]) +if ($_GET["id"] || $_GET["ref"]) { if ($_GET["action"] <> 're-edit') { $product = new Product($db); - $result = $product->fetch($_GET["id"]); + if ($_GET["ref"]) $result = $product->fetch('',$_GET["ref"]); + if ($_GET["id"]) $result = $product->fetch($_GET["id"]); } if ( $result ) @@ -416,7 +422,10 @@ if ($_GET["id"]) $head[$h][1] = $langs->trans('Documents'); $h++; - dolibarr_fiche_head($head, $hselected, $langs->trans("CardProduct".$product->type).' : '.$product->ref); + + $titre=$langs->trans("CardProduct".$product->type); + dolibarr_fiche_head($head, $hselected, $titre); + print($mesg); @@ -429,8 +438,15 @@ if ($_GET["id"]) if ($product->type == 1) $nblignes++; // Reference - print ''.$langs->trans("Ref").''.$product->ref.''; - + print ''.$langs->trans("Ref").''; + $product->load_previous_next_ref(); + $previous_ref = $product->ref_previous?''.img_previous().'':''; + $next_ref = $product->ref_next?''.img_next().'':''; + if ($previous_ref || $next_ref) print '
'; + print ''.$product->ref.''; + if ($previous_ref || $next_ref) print ''.$previous_ref.''.$next_ref.'
'; + print ''; + if ($product->is_photo_available($conf->produit->dir_output)) { // Photo @@ -441,7 +457,7 @@ if ($_GET["id"]) print ''; - // Libellé + // Libelle print ''.$langs->trans("Label").''.$product->libelle.''; print ''; diff --git a/htdocs/product/fournisseurs.php b/htdocs/product/fournisseurs.php index af39747f104..fe84a0df243 100644 --- a/htdocs/product/fournisseurs.php +++ b/htdocs/product/fournisseurs.php @@ -137,16 +137,16 @@ llxHeader("","",$langs->trans("CardProduct".$product->type)); /* * Fiche produit */ -if ($_GET["id"]) +if ($_GET["id"] || $_GET["ref"]) { - - if ($_GET["action"] <> 're-edit') + if ($_GET["action"] <> 're-edit') { - $product = new Product($db); - $result = $product->fetch($_GET["id"]); + $product = new Product($db); + if ($_GET["ref"]) $result = $product->fetch('',$_GET["ref"]); + if ($_GET["id"]) $result = $product->fetch($_GET["id"]); } - - if ( $result ) + + if ( $result ) { if ($_GET["action"] <> 'edit' && $_GET["action"] <> 're-edit') @@ -230,12 +230,28 @@ if ($_GET["id"]) $head[$h][1] = $langs->trans('Documents'); $h++; - dolibarr_fiche_head($head, $hselected, $langs->trans("CardProduct".$product->type).' : '.$product->ref); + $titre=$langs->trans("CardProduct".$product->type); + dolibarr_fiche_head($head, $hselected, $titre); - print ''; - print ''; - print ''; - print ''; + print '
'.$langs->trans("Ref").''.$product->ref.'
'.$langs->trans("Label").''.$product->libelle.'
'.$langs->trans("SellingPrice").''.price($product->price).'
'; + + // Reference + print ''; + print ''; + print ''; + + // Libelle + print ''; + + // Prix + print ''; // Statut print '
'.$langs->trans("Ref").''; + $product->load_previous_next_ref(); + $previous_ref = $product->ref_previous?''.img_previous().'':''; + $next_ref = $product->ref_next?''.img_next().'':''; + if ($previous_ref || $next_ref) print '
'; + print ''.$product->ref.''; + if ($previous_ref || $next_ref) print ''.$previous_ref.''.$next_ref.'
'; + print '
'.$langs->trans("Label").''.$product->libelle.'
'.$langs->trans("SellingPrice").''.price($product->price).'
'.$langs->trans("Status").''; diff --git a/htdocs/product/photos.php b/htdocs/product/photos.php index 71444072e8c..df6bc7a377c 100644 --- a/htdocs/product/photos.php +++ b/htdocs/product/photos.php @@ -52,7 +52,7 @@ $types[1] = $langs->trans("Service"); * Actions */ -if ($_POST["sendit"] && defined('MAIN_UPLOAD_DOC') && MAIN_UPLOAD_DOC == 1) +if ($_POST["sendit"] && $conf->global->MAIN_UPLOAD_DOC) { if ($_GET["id"]) { @@ -80,11 +80,12 @@ if ($_GET["action"] == 'delete' && $_GET["file"]) llxHeader("","",$langs->trans("CardProduct0")); -if ($_GET["id"]) +if ($_GET["id"] || $_GET["ref"]) { $product = new Product($db); - $result = $product->fetch($_GET["id"]); + if ($_GET["ref"]) $result = $product->fetch('',$_GET["ref"]); + if ($_GET["id"]) $result = $product->fetch($_GET["id"]); if ($result) { @@ -157,14 +158,26 @@ if ($_GET["id"]) $head[$h][1] = $langs->trans('Documents'); $h++; - dolibarr_fiche_head($head, $hselected, $langs->trans("CardProduct".$product->type).' : '.$product->ref); + $titre=$langs->trans("CardProduct".$product->type); + dolibarr_fiche_head($head, $hselected, $titre); print($mesg); print ''; + + // Reference print ''; - print ''; + print ''; print ''; + + // Libelle print ''; print ''; diff --git a/htdocs/product/price.php b/htdocs/product/price.php index e324e55c2b8..23270f28d27 100644 --- a/htdocs/product/price.php +++ b/htdocs/product/price.php @@ -80,7 +80,8 @@ if ($_POST["action"] == 'update_price' && llxHeader("","",$langs->trans("Price")); $product = new Product($db); -$result = $product->fetch($_GET["id"]); +if ($_GET["ref"]) $result = $product->fetch('',$_GET["ref"]); +if ($_GET["id"]) $result = $product->fetch($_GET["id"]); $h=0; @@ -146,12 +147,24 @@ $head[$h][0] = DOL_URL_ROOT.'/product/document.php?id='.$product->id; $head[$h][1] = $langs->trans('Documents'); $h++; -dolibarr_fiche_head($head, $hselected, $langs->trans("CardProduct".$product->type).' : '.$product->ref); +$titre=$langs->trans("CardProduct".$product->type); +dolibarr_fiche_head($head, $hselected, $titre); print '
'.$langs->trans("Ref").''.$product->ref.''.$langs->trans("Ref").''; + $product->load_previous_next_ref(); + $previous_ref = $product->ref_previous?''.img_previous().'':''; + $next_ref = $product->ref_next?''.img_next().'':''; + if ($previous_ref || $next_ref) print '
'; + print ''.$product->ref.''; + if ($previous_ref || $next_ref) print ''.$previous_ref.''.$next_ref.'
'; + print '
'.$langs->trans("Label").''.$product->libelle.'
'; + +// Reference print ''; -print ''; +print ''; print ''; + +// Libelle print ''; print ''; diff --git a/htdocs/product/stats/facture.php b/htdocs/product/stats/facture.php index e6c47183b66..d72fa43e8d6 100644 --- a/htdocs/product/stats/facture.php +++ b/htdocs/product/stats/facture.php @@ -47,16 +47,12 @@ $pagenext = $_GET["page"] + 1; if (! $sortorder) $sortorder="DESC"; if (! $sortfield) $sortfield="f.datef"; - +// Securite +$socid = 0; if ($user->societe_id > 0) { - $action = ''; $socid = $user->societe_id; } -else -{ - $socid = 0; -} /* @@ -67,10 +63,11 @@ else llxHeader(); -if ($_GET["id"]) +if ($_GET["id"] || $_GET["ref"]) { $product = new Product($db); - $result = $product->fetch($_GET["id"]); + if ($_GET["ref"]) $result = $product->fetch('',$_GET["ref"]); + if ($_GET["id"]) $result = $product->fetch($_GET["id"]); if ($result > 0) { @@ -101,7 +98,6 @@ if ($_GET["id"]) } } - $head[$h][0] = DOL_URL_ROOT."/product/photos.php?id=".$product->id; $head[$h][1] = $langs->trans("Photos"); $h++; @@ -143,14 +139,24 @@ if ($_GET["id"]) $head[$h][1] = $langs->trans('Documents'); $h++; - dolibarr_fiche_head($head, $hselected, $langs->trans("CardProduct".$product->type).' : '.$product->ref); - + $titre=$langs->trans("CardProduct".$product->type); + dolibarr_fiche_head($head, $hselected, $titre); print '
'.$langs->trans("Ref").''.$product->ref.''.$langs->trans("Ref").''; +$product->load_previous_next_ref(); +$previous_ref = $product->ref_previous?''.img_previous().'':''; +$next_ref = $product->ref_next?''.img_next().'':''; +if ($previous_ref || $next_ref) print '
'; +print ''.$product->ref.''; +if ($previous_ref || $next_ref) print ''.$previous_ref.''.$next_ref.'
'; +print '
'.$langs->trans("Label").''.$product->libelle.'
'; + // Reference print ''; - print ''; + print ''; print ''; + + // Libelle print ''; print ''; @@ -163,10 +169,10 @@ if ($_GET["id"]) else print $langs->trans("NotOnSell"); print ''; - print ''; - print ''; - print ''; - print ''; + print ''; + print ''; + print ''; + print ''; print ''; // Propals diff --git a/htdocs/product/stats/fiche.php b/htdocs/product/stats/fiche.php index 7851f580eba..8fb14b4029e 100644 --- a/htdocs/product/stats/fiche.php +++ b/htdocs/product/stats/fiche.php @@ -58,11 +58,11 @@ $mesg = ''; /* * */ - -if ($_GET["id"]) +if ($_GET["id"] || $_GET["ref"]) { $product = new Product($db); - $result = $product->fetch($_GET["id"]); + if ($_GET["ref"]) $result = $product->fetch('',$_GET["ref"]); + if ($_GET["id"]) $result = $product->fetch($_GET["id"]); if ($result) { @@ -187,13 +187,24 @@ if ($_GET["id"]) $head[$h][1] = $langs->trans('Documents'); $h++; - dolibarr_fiche_head($head, $hselected, $langs->trans("CardProduct".$product->type).' : '.$product->ref); - + $titre=$langs->trans("CardProduct".$product->type); + dolibarr_fiche_head($head, $hselected, $titre); print '
'.$langs->trans("Ref").''.$product->ref.''.$langs->trans("Ref").''; + $product->load_previous_next_ref(); + $previous_ref = $product->ref_previous?''.img_previous().'':''; + $next_ref = $product->ref_next?''.img_next().'':''; + if ($previous_ref || $next_ref) print '
'; + print ''.$product->ref.''; + if ($previous_ref || $next_ref) print ''.$previous_ref.''.$next_ref.'
'; + print '
'.$langs->trans("Label").''.$product->libelle.'
'.$langs->trans("Referers").''.$langs->trans("NbOfCustomers").''.$langs->trans("NbOfReferers").''.$langs->trans("TotalQuantity").'
'.$langs->trans("Referers").''.$langs->trans("NbOfCustomers").''.$langs->trans("NbOfReferers").''.$langs->trans("TotalQuantity").'
'; + + // Reference print ''; - print ''; + print ''; print ''; + + // Libelle print ''; print ''; @@ -204,10 +215,10 @@ if ($_GET["id"]) else print $langs->trans("NotOnSell"); print ''; - print ''; - print ''; - print ''; - print ''; + print ''; + print ''; + print ''; + print ''; print ''; // Propals diff --git a/htdocs/product/stock/product.php b/htdocs/product/stock/product.php index d0b1d2d1e85..94833a00254 100644 --- a/htdocs/product/stock/product.php +++ b/htdocs/product/stock/product.php @@ -98,12 +98,13 @@ if ($_POST["action"] == "transfert_stock" && $_POST["cancel"] <> $langs->trans(" * Fiche stock * */ -if ($_GET["id"]) +if ($_GET["id"] || $_GET["ref"]) { - $product = new Product($db); + if ($_GET["ref"]) $result = $product->fetch('',$_GET["ref"]); + if ($_GET["id"]) $result = $product->fetch($_GET["id"]); - if ( $product->fetch($_GET["id"])) + if ($result > 0) { $h=0; @@ -175,9 +176,16 @@ if ($_GET["id"]) // Reference print ''; - print ''; + print ''; print ''; - + // Libellé print ''; print ''; @@ -194,7 +202,7 @@ if ($_GET["id"]) // TVA $langs->load("bills"); - print ''; + print ''; // Stock if ($product->type == 0 && $conf->stock->enabled) @@ -221,9 +229,8 @@ if ($_GET["id"]) print "
'.$langs->trans("Ref").''.$product->ref.''.$langs->trans("Ref").''; + $product->load_previous_next_ref(); + $previous_ref = $product->ref_previous?''.img_previous().'':''; + $next_ref = $product->ref_next?''.img_next().'':''; + if ($previous_ref || $next_ref) print '
'; + print ''.$product->ref.''; + if ($previous_ref || $next_ref) print ''.$previous_ref.''.$next_ref.'
'; + print '
'.$langs->trans("Label").''.$product->libelle.'
'.$langs->trans("SellingPrice").''.price($product->price).'
'.$langs->trans("Referers").''.$langs->trans("NbOfCustomers").''.$langs->trans("NbOfReferers").''.$langs->trans("TotalQuantity").'
'.$langs->trans("Referers").''.$langs->trans("NbOfCustomers").''.$langs->trans("NbOfReferers").''.$langs->trans("TotalQuantity").'
'.$langs->trans("Ref").''.$product->ref.''.$langs->trans("Ref").''; + $product->load_previous_next_ref(); + $previous_ref = $product->ref_previous?''.img_previous().'':''; + $next_ref = $product->ref_next?''.img_next().'':''; + if ($previous_ref || $next_ref) print '
'; + print ''.$product->ref.''; + if ($previous_ref || $next_ref) print ''.$previous_ref.''.$next_ref.'
'; + print '
'.$langs->trans("Label").''.$product->libelle.'
'.$langs->trans("VATRate").''.$product->tva_tx.' %
'.$langs->trans("VATRate").''.$product->tva_tx.'%
"; /* - * Contenu des stocks - * - */ + * Contenu des stocks + */ print '
'; print ''; $sql = "SELECT e.rowid, e.label, ps.reel FROM ".MAIN_DB_PREFIX."entrepot as e, ".MAIN_DB_PREFIX."product_stock as ps"; @@ -249,9 +256,8 @@ if ($_GET["id"]) print ''; /* - * Correction du stock - * - */ + * Correction du stock + */ if ($_GET["action"] == "correction") { print_titre ("Correction du stock"); @@ -288,10 +294,10 @@ if ($_GET["id"]) print ''; } + /* - * Transfert de pièces - * - */ + * Transfert de pièces + */ if ($_GET["action"] == "transfert") { print_titre ("Transfert de stock"); @@ -344,13 +350,13 @@ if ($_GET["id"]) print ''; } + /* - * - * - */ + * + */ if ($_GET["action"] == "definir") { - print_titre ("Créer un stock"); + print_titre($langs->trans("SetStock")); print "id\" method=\"post\">\n"; print ''; print '
'.$langs->trans("Warehouse").'Valeur du stock
'; diff --git a/htdocs/theme/eldy/eldy.css.php b/htdocs/theme/eldy/eldy.css.php index d9bedd0c665..414b5670e86 100644 --- a/htdocs/theme/eldy/eldy.css.php +++ b/htdocs/theme/eldy/eldy.css.php @@ -401,10 +401,9 @@ a.tabTitle { color: white; font-weight: normal; padding: 0px 6px; - margin: 0em 0.5em; + margin: 0px 6px; text-decoration: none; white-space: nowrap; - border-right: 1px solid #555555; border-left: 1px solid #D8D8D8; border-top: 1px solid #D8D8D8; diff --git a/htdocs/theme/eldy/img/boule.png b/htdocs/theme/eldy/img/boule.png new file mode 100644 index 0000000000000000000000000000000000000000..dfa83acd50d7f973b4db1a8251c956644ec2cf5a GIT binary patch literal 1187 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~e!3-p0EYEHRQo1Fs5hcz=sfi_-`FRQNn~YUU}gyL32`;_iZTpJwhW50 z49d2Q%C<}{b_z;%0+PwqPT4@z;sr#-JzmvQg0hQ)s^2L#VS;5`t0hk*az|Br&v5Fj}O7{A@G0_F|Zk|4iek~L$|z_97v zMhl>Ub39!fLn>~Wp3CJvq#(dva9t^Pwy$@PSG7d;6x*IG)t-ASzyHl&8T^u;z1+U< z@dbvTyS8PXo14$h@^sBLFRpF-+zV!(3X9_O`<&h27M;y3@Q1Cy>%X~26+_0-OCQ-( zPs%({TM}gO+34^I=j{S^b3|1fkICOPK4+=TZR9q&yS>g+QS!{=6}*Wm}#|o k{>R`2b0cRye$4!qKix>`o0yrJG|-(4p00i_>zopr0AiJDQvd(} literal 0 HcmV?d00001 diff --git a/htdocs/theme/eldy/img/next.png b/htdocs/theme/eldy/img/next.png index f8d4f4f3208b34f4ae3c2005f5b26770d10e3c19..60cb1ff88160457eaf140f1517a7edaecf0b1ea4 100644 GIT binary patch literal 1186 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~e!3-p0EYEHRQo1Fs5hcz=sfi_-`FRQ+`Ij%By>WcMu1UV5y!rKfo5x$2&t>Yh2(bGBBmJy*T;T1!t)OV6B^wZ~ev zp6i)1r)TNbp1s$mY&|w-&eAz+x6avnZt31@OOM@Kd+glSy&!Px+P!l?aP8W;d(Y3^ zdw=fv`)kjiUwi)k9uPbSf%ic09RmJ;|33;wLxAKEVElH!3Ya%sOM?7@N!E--1H-0w z8!dna&h~V145_%KdhRyYAp;(^2j{w0&z>CGtvjnqqBz5rr!-399!KT>bfdR*94hjP zEs9T{-(I$}WTC6uQ`v@#tM1saeYkxpG+~O)r|1^8ImHbuN`D0^m=l>NHpp{EqqfF=21q zuxKU@Xi?CUoSFML=R5bm4+{3M zj^MCer_0&_kPm>OfI>0S4o827jwye~Qad}RgCBUE7Vew0vmbF4<$jL}N{)efkp)AO zCBV5C0OlY8&Fuo5z4N|yldc^(bim{9?ct%#=LC)|Ov?&}(P<1%KS{8(oLU9bxJn=+ zML>7&b3VhhL;@W({#yY7SQ_o64APrAJbbG{bSjY|kfYI|<4F_@20?#e8wQ#itNoWd zT_9x)@On59J?~cE@~j4M^E?YRo~lYBWq>ekXkKr%8+7^Yt`>>}=U_$F^3@L4 zJK)ur0=%QN8fz}2VhEhDkv(OvxAjNrkW4qVTO0OlVjnyjc0z1HEhY@!s3y8ICBV9# zcfo_z-_v3*{3ebNyB*KxRd?Ek!y5#&n zzN`R+l{a5PJqgOX2TQn7NN^XzXIiV9+~qd-pRGw6e4bj3)49~O@lYU4N25{bK6Owf z#CNl)%1gYR7V4`waM%!$LlvE40DdMnU}9E`bGc;SSmcQzp80AHD^@7dPXCOX&9fDHs%+_*G?^VZ}jmMD_P$48Z9~2^<35)>elGyP7^tO uCV9)Ip~qb~Ho2eqmI#GHDH5Y?=lljX=O{##O`N6x0000Nn~YUU}gyL32`;_iZTpJwhW50 z49d2Q%C<}{b_z;%0+PwqPT4@z;sr#-JzmvQg0hQ)s^2L#VS;5`t0hk*az|Br&v5Fj}O7{A@G0_F|Zk|4iek~L$|z_97v zMhl>U(>+}rLn?0Ro;%HVNI`%#Ky#N2zBn!g6&pUcn z;K1kF>v!8EIK$F=)=jk?~K^yLMu9?xNBnO4tSkt@Z{`NGm6K3n*C!{!{( z2P?DYE;zw?XhWD6qetMzo(LIRPEA!EZ8O!))`xaHeAsnCz1_biXV0|aX~DZP?!Ub3 g;J$n7bn#>I+b7DoTxeSr2y`NYr>mdKI;Vst0Q7WgOaK4? delta 738 zcmV<80v-LH36KVm7ab4?1^@s6AM^iV00007bV*G`2h;`#2`oDQW1vNmZ6|*MpGibP zRCwBbQ(a3GQ5b&a%!jk<=(y|0x{@aDk{=P&f)tir)P-Pm8H7PWw5T`H59lHS`vpPJ zlF&sLU36tP8ij=U8h z4>Dl2!nT5d&CzvKFgM1>B4>Z~-FLZNK!tv~1zzkSQmI<&$-*t>FtZ}VGS*X^sXr0S zWZ&CJ$HE>03a$o6hJ97#jaSd8IMvLf)Xh6*M%Ko=IUW5k(wLoJS#z1Oi?1Ja4(AC% zy^{(BPlQ@(8gHJLQQ{Kz>kL`b!o$HN2FKzF#h5zss{is2r-Z+?`>ub_S9Re=r%V|M zn(ACoiv>iN4d{jiLVyOpjQLmwO|?asi}UVS3MJ=4{16HCOvoVO^^Ri_(px50wM@RE z;v#tZM#rH8E@#iq)>2utH*>Ifwd;HCa1DEFt0XI`$3?;GR>6}Wy-cI;N@ac@UE0F4 zFJ5Sd2c*bWv`nCl5d?p|3Zd*d@Eix8{3X~4W-&BVhK)>-vnC>Kmk2>dz-3Gx3ke>Q zz&ZJ^Nc`Gvh1PM@=U_8=tY}KNF`cNu$9Op=mb`gD`<=Zc3@lKTnKQsy`XXTtGpR`k zJz#W%6asdV$f5}sO<6EuZ6!Co=Jb2Q>`5KgPmCDqN;N0{L`#2V(#h`oNoU_srlDTd z!0w8<)qyJE+p^Q}@$jI>6wAj?v{VGVs)YZ=&r}AZpH~-ajOUkp{MYfkVkg4`fsE)M zIvP|Pn(C-Axk52*o9eWX#^h{ru{t}_UCm96L?RKb;MVDDkNvuM@V47s+*R+Bl(LfT zk*#kS%!QkVo*X*x)*91cs&VHzK3V{>MsVrnzNSkG*l6r8u~Z{;fq U?=F$x{Qv*}07*qoM6N<$f{Dy)j{pDw