From 1249e684f493a11a66183969c8e3675ac149e865 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 22 Mar 2006 00:24:16 +0000 Subject: [PATCH] Fix: bug #16141 : code compta aquarium --- .../modules/societe/mod_codecompta_aquarium.php | 17 +++++++++-------- htdocs/product/fiche.php | 2 +- htdocs/soc.php | 2 +- htdocs/societe.class.php | 6 +++--- pgsql/data/data.sql | 2 +- 5 files changed, 15 insertions(+), 14 deletions(-) diff --git a/htdocs/includes/modules/societe/mod_codecompta_aquarium.php b/htdocs/includes/modules/societe/mod_codecompta_aquarium.php index 6d13a876660..2ec22590ca8 100644 --- a/htdocs/includes/modules/societe/mod_codecompta_aquarium.php +++ b/htdocs/includes/modules/societe/mod_codecompta_aquarium.php @@ -63,25 +63,25 @@ class mod_codecompta_aquarium $this->db = $DB; // Regle gestion compte compta - if ($type == 'supplier') $codetouse=$societe->code_client; - if ($type == 'customer') $codetouse=$societe->code_fournisseur; + if ($type == 'customer') $codetouse=$societe->code_client; + if ($type == 'supplier') $codetouse=$societe->code_fournisseur; - if ($type == 'supplier') $this->code = "401".$codetouse; if ($type == 'customer') $this->code = "411".$codetouse; + if ($type == 'supplier') $this->code = "401".$codetouse; - $is_dispo = $this->verif($DB, $this->code); + $is_dispo = $this->verif($DB, $this->code, $societe); while ($is_dispo == 0 && $i < 37) // 40 char max { $arr = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; $this->code = $societe->prefix_comm . $codetouse . substr($arr, $i, 1); - $is_dispo = $this->verif($DB, $this->code); + $is_dispo = $this->verif($DB, $this->code, $societe); $i++; } - dolibarr_debug("mod_codecompta_aquarium::get_code code=>".$this->code); + dolibarr_syslog("mod_codecompta_aquarium::get_code type=".$type." code=".$this->code); return $is_dispo; } @@ -90,10 +90,11 @@ class mod_codecompta_aquarium * \brief Renvoi si un code compta est dispo * \return int 0 non dispo, >0 dispo, <0 erreur */ - function verif($db, $code) + function verif($db, $code, $societe) { $sql = "SELECT code_compta FROM ".MAIN_DB_PREFIX."societe"; - $sql .= " WHERE code_compta = '".$code."'"; + $sql.= " WHERE code_compta = '".$code."'"; + $sql.= " AND idp != ".$societe->id; if ($db->query($sql)) { diff --git a/htdocs/product/fiche.php b/htdocs/product/fiche.php index d129293d7f6..6e2e3873761 100644 --- a/htdocs/product/fiche.php +++ b/htdocs/product/fiche.php @@ -556,7 +556,7 @@ if ($_GET["id"] || $_GET["ref"]) // TVA $langs->load("bills"); - print ''.$langs->trans("VATRate").''.$product->tva_tx.' %'; + print ''.$langs->trans("VATRate").''.$product->tva_tx.'%'; // Stock if ($product->type == 0 && $conf->stock->enabled) diff --git a/htdocs/soc.php b/htdocs/soc.php index fd3b9ff7a34..7de82510aec 100644 --- a/htdocs/soc.php +++ b/htdocs/soc.php @@ -137,7 +137,7 @@ if ($_POST["action"] == 'add' || $_POST["action"] == 'update') if ($_POST["action"] == 'update') { $result = $soc->update($socid,$user); - if ($result > 0) + if ($result >= 0) { Header("Location: soc.php?socid=".$socid); exit; diff --git a/htdocs/societe.class.php b/htdocs/societe.class.php index 9e9287a035c..e1e889a1d86 100644 --- a/htdocs/societe.class.php +++ b/htdocs/societe.class.php @@ -370,7 +370,7 @@ class Societe } if ($user) $sql .= ",fk_user_modif = '".$user->id."'"; $sql .= " WHERE idp = '" . $id ."'"; - + // Verifie que code compta défini $resql=$this->db->query($sql); @@ -392,7 +392,7 @@ class Societe if ($this->db->errno() == 'DB_ERROR_RECORD_ALREADY_EXISTS') { // Doublon - $this->error = $langs->trans("ErrorPrefixAlreadyExists",$this->prefix_comm); + $this->error = $langs->trans("ErrorDuplicateField"); $result = -1; } else @@ -1261,7 +1261,7 @@ function set_price_level($price_level, $user) /** * \brief Renvoie un code compta, suivant le module de code compta. * Peut être identique à celui saisit ou généré automatiquement. - * A ce jour seul la génération automatique est implémentée + * A ce jour seule la génération automatique est implémentée * \param type Type de tiers ('customer' ou 'supplier') */ function get_codecompta($type) diff --git a/pgsql/data/data.sql b/pgsql/data/data.sql index a69690ea5ec..636b6be1e26 100644 --- a/pgsql/data/data.sql +++ b/pgsql/data/data.sql @@ -60,7 +60,7 @@ insert into llx_const (name, value, type, note, visible) values ('COMPTA_ONLINE_ -- IHM -- insert into llx_const (name, value, type, note, visible) values ('MAIN_THEME','eldy','chaine','Thème par défaut',0); -insert into llx_const (name, value, type, note, visible) values ('SIZE_LISTE_LIMIT','20','chaine','Taille des listes',0); +insert into llx_const (name, value, type, note, visible) values ('MAIN_SIZE_LISTE_LIMIT','20','chaine','Taille des listes',0); insert into llx_const (name, value, type, note, visible) values ('MAIN_MENU_BARRETOP','default.php','chaine','Module de gestion de la barre de menu du haut',0); insert into llx_const (name, value, type, note, visible) values ('MAIN_LANG_DEFAULT','fr_FR','chaine','Langue par défaut pour les écrans Dolibarr',0);