Traduction des messages erreurs

This commit is contained in:
Laurent Destailleur 2007-11-28 20:58:53 +00:00
parent b4fa398c36
commit 17992edfa9
4 changed files with 94 additions and 71 deletions

View File

@ -3,4 +3,12 @@ ErrorDuplicateTrigger=A trigger file named '<b>%s</b>' is already loaded. Remove
ErrorFailToDeleteFile=Failed to remove file '<b>%s</b>'. ErrorFailToDeleteFile=Failed to remove file '<b>%s</b>'.
ErrorThisContactIsAlreadyDefinedAsThisType=This contact is already defined as contact for this type. ErrorThisContactIsAlreadyDefinedAsThisType=This contact is already defined as contact for this type.
ErrorCashAccountAcceptsOnlyCashMoney=This bank account is a cash account, so it accepts payments of type cash only. ErrorCashAccountAcceptsOnlyCashMoney=This bank account is a cash account, so it accepts payments of type cash only.
ErrorFromToAccountsMustDiffers=Source and targets bank accounts must be different. ErrorFromToAccountsMustDiffers=Source and targets bank accounts must be different.
ErrorBadThirdPartyName=Bad value for third party name
ErrorBadCustomerCodeSyntax=Bad syntax for customer code
ErrorCustomerCodeRequired=Customer code required
ErrorCustomerCodeAlreadyUsed=Customer code already used
ErrorPrefixRequired=Prefix required
ErrorBadSupplierCodeSyntax=Bad syntax for supplier code
ErrorSupplierCodeRequired=Supplier code required
ErrorSupplierCodeAlreadyUsed=Supplier code already used

View File

@ -4,3 +4,11 @@ ErrorFailToDeleteFile=Echec de l'effacement du fichier '<b>%s</b>'.
ErrorThisContactIsAlreadyDefinedAsThisType=Ce contact est déjà défini comme contact pour ce type. ErrorThisContactIsAlreadyDefinedAsThisType=Ce contact est déjà défini comme contact pour ce type.
ErrorCashAccountAcceptsOnlyCashMoney=Ce compte bancaire est de type caisse et n'accepte que les mode de réglement de type <b>espèce</b>. ErrorCashAccountAcceptsOnlyCashMoney=Ce compte bancaire est de type caisse et n'accepte que les mode de réglement de type <b>espèce</b>.
ErrorFromToAccountsMustDiffers=Le compte source et destination doivent etre différents. ErrorFromToAccountsMustDiffers=Le compte source et destination doivent etre différents.
ErrorBadThirdPartyName=Nom de tiers incorrect
ErrorBadCustomerCodeSyntax=La syntaxe du code client est incorrect
ErrorCustomerCodeRequired=Code client obligatoire
ErrorCustomerCodeAlreadyUsed=Code client deja utilise
ErrorPrefixRequired=Prefix obligatoire
ErrorBadSupplierCodeSyntax=La syntaxe du code fournisseur est incorrect
ErrorSupplierCodeRequired=Code fournisseur obligatoire
ErrorSupplierCodeAlreadyUsed=Code fournisseur deja utilise

View File

@ -161,7 +161,8 @@ if ((! $_POST["getcustomercode"] && ! $_POST["getsuppliercode"])
} }
else else
{ {
$mesg=$soc->error; $langs->load("errors");
$mesg=$langs->trans($soc->error);
$_GET["action"]='create'; $_GET["action"]='create';
} }
} }
@ -324,10 +325,13 @@ if ($_POST["getcustomercode"] || $_POST["getsuppliercode"] ||
print "<br>\n"; print "<br>\n";
} }
if ($soc->error) if (sizeof($soc->errors))
{ {
print '<div class="error">'; print '<div class="error">';
print nl2br($soc->error); foreach($soc->errors as $message)
{
print $langs->trans($message)."<br>\n";
}
print '</div>'; print '</div>';
} }

View File

@ -21,7 +21,6 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* *
* $Id$ * $Id$
* $Source$
*/ */
/** /**
@ -39,7 +38,9 @@
class Societe class Societe
{ {
var $db; var $db;
var $error;
var $errors=array();
var $id; var $id;
var $nom; var $nom;
var $nom_particulier; var $nom_particulier;
@ -95,12 +96,12 @@ class Societe
var $price_level; var $price_level;
var $commercial_id; //Id du commercial affecté var $commercial_id; //Id du commercial affecte
/** /**
* \brief Constructeur de la classe * \brief Constructeur de la classe
* \param DB handler accès base de données * \param DB handler acc<EFBFBD>s base de donn<EFBFBD>es
* \param id id societe (0 par defaut) * \param id id societe (0 par defaut)
*/ */
function Societe($DB, $id=0) function Societe($DB, $id=0)
@ -123,8 +124,8 @@ class Societe
} }
/** /**
* \brief Crée la societe en base * \brief Cr<EFBFBD>e la societe en base
* \param user Objet utilisateur qui demande la création * \param user Objet utilisateur qui demande la cr<EFBFBD>ation
* \return int 0 si ok, < 0 si erreur * \return int 0 si ok, < 0 si erreur
*/ */
@ -132,7 +133,7 @@ class Societe
{ {
global $langs,$conf; global $langs,$conf;
// Nettoyage paramètres // Nettoyage param<EFBFBD>tres
$this->nom=trim($this->nom); $this->nom=trim($this->nom);
dolibarr_syslog("Societe::create ".$this->nom); dolibarr_syslog("Societe::create ".$this->nom);
@ -157,12 +158,12 @@ class Societe
$ret = $this->update($this->id,$user,0,1,1); $ret = $this->update($this->id,$user,0,1,1);
// si un commercial crée un client il lui est affecté automatiquement // si un commercial cr<EFBFBD>e un client il lui est affect<63> automatiquement
if (!$user->rights->commercial->client->voir) if (!$user->rights->commercial->client->voir)
{ {
$this->add_commercial($user, $user->id); $this->add_commercial($user, $user->id);
} }
// Ajout du commercial affecté // Ajout du commercial affect<EFBFBD>
else if ($this->commercial_id != '' && $this->commercial_id != -1) else if ($this->commercial_id != '' && $this->commercial_id != -1)
{ {
$this->add_commercial($user, $this->commercial_id); $this->add_commercial($user, $this->commercial_id);
@ -222,62 +223,64 @@ class Societe
*/ */
function verify() function verify()
{ {
$this->errors=array();
$result = 0; $result = 0;
$this->nom=trim($this->nom); $this->nom=trim($this->nom);
if (! $this->nom) if (! $this->nom)
{ {
$this->error = "Le nom de la société ne peut être vide.\n"; $this->errors[] = 'ErrorBadThirdPartyName';
$result = -2; $result = -2;
} }
if ($this->client && $this->codeclient_modifiable()) if ($this->client && $this->codeclient_modifiable())
{ {
// On ne vérifie le code client que si la société est un client / prospect et que le code est modifiable // On ne verifie le code client que si la societe est un client / prospect et que le code est modifiable
// Si il n'est pas modifiable il n'est pas mis à jour lors de l'update // Si il n'est pas modifiable il n'est pas mis a jour lors de l'update
$rescode = $this->check_codeclient(); $rescode = $this->check_codeclient();
if ($rescode <> 0) if ($rescode <> 0)
{ {
if ($rescode == -1) if ($rescode == -1)
{ {
$this->error .= "La syntaxe du code client est incorrecte.\n"; $this->errors[] = 'ErrorBadCustomerCodeSyntax';
} }
if ($rescode == -2) if ($rescode == -2)
{ {
$this->error .= "Vous devez saisir un code client.\n"; $this->errors[] = 'ErrorCustomerCodeRequired';
} }
if ($rescode == -3) if ($rescode == -3)
{ {
$this->error .= "Ce code client est déjà utilisé.\n"; $this->errors[] = 'ErrorCustomerCodeAlreadyUsed';
} }
if ($rescode == -4) if ($rescode == -4)
{ {
$this->error .= "Vous devez renseigner le préfix pour générer le code client.\n"; $this->errors[] = 'ErrorPrefixRequired';
} }
$result = -3; $result = -3;
} }
} }
if ($this->fournisseur && $this->codefournisseur_modifiable()) if ($this->fournisseur && $this->codefournisseur_modifiable())
{ {
// On ne vérifie le code fournisseur que si la société est un fournisseur et que le code est modifiable // On ne verifie le code fournisseur que si la societe est un fournisseur et que le code est modifiable
// Si il n'est pas modifiable il n'est pas mis à jour lors de l'update // Si il n'est pas modifiable il n'est pas mis a jour lors de l'update
$rescode = $this->check_codefournisseur(); $rescode = $this->check_codefournisseur();
if ($rescode <> 0) if ($rescode <> 0)
{ {
if ($rescode == -1) if ($rescode == -1)
{ {
$this->error .= "La syntaxe du code fournisseur est incorrecte.\n"; $this->errors[] = 'ErrorBadSupplierCodeSyntax';
} }
if ($rescode == -2) if ($rescode == -2)
{ {
$this->error .= "Vous devez saisir un code fournisseur.\n"; $this->errors[] = 'ErrorSupplierCodeRequired';
} }
if ($rescode == -3) if ($rescode == -3)
{ {
$this->error .= "Ce code fournisseur est déjà utilisé.\n"; $this->errors[] = 'ErrorSupplierCodeAlreadyUsed';
} }
if ($rescode == -5) if ($rescode == -5)
{ {
$this->error .= "Vous devez renseigner le préfix pour générer le code fournisseur.\n"; $this->errors[] = 'ErrorprefixRequired';
} }
$result = -3; $result = -3;
} }
@ -287,9 +290,9 @@ class Societe
} }
/** /**
* \brief Mise a jour des paramètres de la société * \brief Mise a jour des param<EFBFBD>tres de la soci<EFBFBD>t<EFBFBD>
* \param id id societe * \param id id societe
* \param user Utilisateur qui demande la mise à jour * \param user Utilisateur qui demande la mise <EFBFBD> jour
* \param call_trigger 0=non, 1=oui * \param call_trigger 0=non, 1=oui
* \param allowmodcodeclient Autorise modif code client * \param allowmodcodeclient Autorise modif code client
* \param allowmodcodefournisseur Autorise modif code fournisseur * \param allowmodcodefournisseur Autorise modif code fournisseur
@ -301,7 +304,7 @@ class Societe
dolibarr_syslog("Societe::Update id=".$id." call_trigger=".$call_triger." allowmodcodeclient=".$allowmodcodeclient." allowmodcodefournisseur=".$allowmodcodefournisseur); dolibarr_syslog("Societe::Update id=".$id." call_trigger=".$call_triger." allowmodcodeclient=".$allowmodcodeclient." allowmodcodefournisseur=".$allowmodcodefournisseur);
// Nettoyage des paramètres // Nettoyage des param<EFBFBD>tres
$this->id=$id; $this->id=$id;
$this->capital=trim($this->capital); $this->capital=trim($this->capital);
$this->nom=trim($this->nom); $this->nom=trim($this->nom);
@ -414,7 +417,7 @@ class Societe
if ($resql) if ($resql)
{ {
//Si c'est un particulier on crée la fiche contact //Si c'est un particulier on cr<EFBFBD>e la fiche contact
if ($this->particulier == 1) if ($this->particulier == 1)
{ {
require_once (DOL_DOCUMENT_ROOT."/contact.class.php"); require_once (DOL_DOCUMENT_ROOT."/contact.class.php");
@ -477,7 +480,7 @@ class Societe
/** /**
* \brief Charge depuis la base l'objet societe * \brief Charge depuis la base l'objet societe
* \param socid Id de la société à charger en mémoire * \param socid Id de la soci<EFBFBD>t<EFBFBD> <EFBFBD> charger en m<EFBFBD>moire
* \param user Objet de l'utilisateur * \param user Objet de l'utilisateur
* \return int >0 si ok, <0 si ko * \return int >0 si ok, <0 si ko
*/ */
@ -680,8 +683,8 @@ class Societe
} }
/** /**
* \brief Suppression d'une societe de la base avec ses dépendances (contacts, rib...) * \brief Suppression d'une societe de la base avec ses d<EFBFBD>pendances (contacts, rib...)
* \param id id de la societe à supprimer * \param id id de la societe <EFBFBD> supprimer
*/ */
function delete($id) function delete($id)
{ {
@ -725,7 +728,7 @@ class Societe
} }
else else
{ {
$this->error .= "Impossible de supprimer la société.\n"; $this->error .= "Impossible de supprimer la soci<EFBFBD>t<EFBFBD>.\n";
dolibarr_syslog("Societe::Delete erreur -3"); dolibarr_syslog("Societe::Delete erreur -3");
} }
@ -739,7 +742,7 @@ class Societe
$this->db->commit(); $this->db->commit();
// Suppression du répertoire document // Suppression du r<EFBFBD>pertoire document
$docdir = $conf->societe->dir_output . "/" . $id; $docdir = $conf->societe->dir_output . "/" . $id;
if (file_exists ($docdir)) if (file_exists ($docdir))
{ {
@ -759,8 +762,8 @@ class Societe
/** /**
* \brief Retournes les factures impayées de la société * \brief Retournes les factures impay<EFBFBD>es de la soci<EFBFBD>t<EFBFBD>
* \return array tableau des id de factures impayées * \return array tableau des id de factures impay<EFBFBD>es
* *
*/ */
function factures_impayes() function factures_impayes()
@ -792,7 +795,7 @@ class Societe
} }
/** /**
* \brief Attribut le prefix de la société en base * \brief Attribut le prefix de la soci<EFBFBD>t<EFBFBD> en base
* *
*/ */
function attribute_prefix() function attribute_prefix()
@ -843,10 +846,10 @@ class Societe
} }
/** /**
* \brief Génére le préfix de la société * \brief G<EFBFBD>n<EFBFBD>re le pr<EFBFBD>fix de la soci<EFBFBD>t<EFBFBD>
* \param nom nom de la société * \param nom nom de la soci<EFBFBD>t<EFBFBD>
* \param taille taille du prefix à retourner * \param taille taille du prefix <EFBFBD> retourner
* \param mot l'indice du mot à utiliser * \param mot l'indice du mot <EFBFBD> utiliser
*/ */
function genprefix($nom, $taille=4, $mot=0) function genprefix($nom, $taille=4, $mot=0)
{ {
@ -856,7 +859,7 @@ class Societe
if ($mot < count($tab)) if ($mot < count($tab))
{ {
$prefix = strtoupper(substr($tab[$mot],0,$taille)); $prefix = strtoupper(substr($tab[$mot],0,$taille));
// On vérifie que ce prefix n'a pas déjà été pris ... // On v<EFBFBD>rifie que ce prefix n'a pas d<>j<EFBFBD> <20>t<EFBFBD> pris ...
$sql = "SELECT count(*) as nb FROM ".MAIN_DB_PREFIX."societe WHERE prefix_comm = '$prefix'"; $sql = "SELECT count(*) as nb FROM ".MAIN_DB_PREFIX."societe WHERE prefix_comm = '$prefix'";
$resql=$this->db->query( $sql); $resql=$this->db->query( $sql);
if ($resql) if ($resql)
@ -877,7 +880,7 @@ class Societe
} }
/** /**
* \brief Définit la société comme un client * \brief D<EFBFBD>finit la soci<EFBFBD>t<EFBFBD> comme un client
* *
*/ */
function set_as_client() function set_as_client()
@ -893,10 +896,10 @@ class Societe
} }
/** /**
* \brief Définit la société comme un client * \brief D<EFBFBD>finit la soci<EFBFBD>t<EFBFBD> comme un client
* \param remise Valeur en % de la remise * \param remise Valeur en % de la remise
* \param note Note/Motif de modification de la remise * \param note Note/Motif de modification de la remise
* \param user Utilisateur qui définie la remise * \param user Utilisateur qui d<EFBFBD>finie la remise
* \return int <0 si ko, >0 si ok * \return int <0 si ko, >0 si ok
*/ */
function set_remise_client($remise, $note, $user) function set_remise_client($remise, $note, $user)
@ -951,7 +954,7 @@ class Societe
} }
/** /**
* \brief Ajoute une remise fixe pour la société * \brief Ajoute une remise fixe pour la soci<EFBFBD>t<EFBFBD>
* \param remise Montant de la remise * \param remise Montant de la remise
* \param user Utilisateur qui accorde la remise * \param user Utilisateur qui accorde la remise
* \param desc Motif de l'avoir * \param desc Motif de l'avoir
@ -1002,8 +1005,8 @@ class Societe
} }
/** /**
* \brief Supprime un avoir (à condition que non affecté à une facture) * \brief Supprime un avoir (<EFBFBD> condition que non affect<EFBFBD> <EFBFBD> une facture)
* \param id Id de l'avoir à supprimer * \param id Id de l'avoir <EFBFBD> supprimer
* \return int <0 si ko, id de l'avoir si ok * \return int <0 si ko, id de l'avoir si ok
*/ */
function del_remise_except($id) function del_remise_except($id)
@ -1158,8 +1161,8 @@ class Societe
/** /**
* \brief Renvoie le nom d'une societe a partir d'un id * \brief Renvoie le nom d'une societe a partir d'un id
* \param id id de la société recherchée * \param id id de la soci<EFBFBD>t<EFBFBD> recherch<EFBFBD>e
* \return string Nom de la société * \return string Nom de la soci<EFBFBD>t<EFBFBD>
*/ */
function get_nom($id) function get_nom($id)
{ {
@ -1185,7 +1188,7 @@ class Societe
/** /**
* \brief Renvoie la liste des contacts emails existant pour la société * \brief Renvoie la liste des contacts emails existant pour la soci<EFBFBD>t<EFBFBD>
* \return array tableau des contacts emails * \return array tableau des contacts emails
*/ */
function thirdparty_and_contact_email_array() function thirdparty_and_contact_email_array()
@ -1195,14 +1198,14 @@ class Societe
$contact_email = $this->contact_email_array(); $contact_email = $this->contact_email_array();
if ($this->email) if ($this->email)
{ {
// TODO: Tester si email non deja présent dans tableau contact // TODO: Tester si email non deja pr<EFBFBD>sent dans tableau contact
$contact_email[-1]=$langs->trans("ThirdParty").': '.dolibarr_trunc($this->nom,16)." &lt;".$this->email."&gt;";; $contact_email[-1]=$langs->trans("ThirdParty").': '.dolibarr_trunc($this->nom,16)." &lt;".$this->email."&gt;";;
} }
return $contact_email; return $contact_email;
} }
/** /**
* \brief Renvoie la liste des contacts emails existant pour la société * \brief Renvoie la liste des contacts emails existant pour la soci<EFBFBD>t<EFBFBD>
* \return array tableau des contacts emails * \return array tableau des contacts emails
*/ */
function contact_email_array() function contact_email_array()
@ -1236,7 +1239,7 @@ class Societe
/** /**
* \brief Renvoie la liste des contacts de cette société * \brief Renvoie la liste des contacts de cette soci<EFBFBD>t<EFBFBD>
* \return array tableau des contacts * \return array tableau des contacts
*/ */
function contact_array() function contact_array()
@ -1299,7 +1302,7 @@ class Societe
/** /**
* \brief Renvoie la liste des libellés traduits des types actifs de sociétés * \brief Renvoie la liste des libell<EFBFBD>s traduits des types actifs de soci<EFBFBD>t<EFBFBD>s
* \param mode 0=renvoi id+libelle, 1=renvoi code+libelle * \param mode 0=renvoi id+libelle, 1=renvoi code+libelle
* \return array tableau des typesl * \return array tableau des typesl
*/ */
@ -1441,7 +1444,7 @@ class Societe
} }
/** /**
* \brief Attribut un code client à partir du module de controle des codes. * \brief Attribut un code client <EFBFBD> partir du module de controle des codes.
* \return code_client Code client automatique * \return code_client Code client automatique
*/ */
function get_codeclient($objsoc=0,$type=0) function get_codeclient($objsoc=0,$type=0)
@ -1461,7 +1464,7 @@ class Societe
} }
/** /**
* \brief Attribut un code fournisseur à partir du module de controle des codes. * \brief Attribut un code fournisseur <EFBFBD> partir du module de controle des codes.
* \return code_fournisseur Code fournisseur automatique * \return code_fournisseur Code fournisseur automatique
*/ */
function get_codefournisseur($objsoc=0,$type=1) function get_codefournisseur($objsoc=0,$type=1)
@ -1539,7 +1542,7 @@ class Societe
/** /**
* \brief Verifie code client * \brief Verifie code client
* \return int <0 si KO, 0 si OK, peut modifier le code client suivant le module utilisé * \return int <0 si KO, 0 si OK, peut modifier le code client suivant le module utilis<EFBFBD>
*/ */
function check_codeclient() function check_codeclient()
{ {
@ -1564,7 +1567,7 @@ class Societe
/** /**
* \brief Verifie code fournisseur * \brief Verifie code fournisseur
* \return int <0 si KO, 0 si OK, peut modifier le code client suivant le module utilisé * \return int <0 si KO, 0 si OK, peut modifier le code client suivant le module utilis<EFBFBD>
*/ */
function check_codefournisseur() function check_codefournisseur()
{ {
@ -1589,8 +1592,8 @@ class Societe
/** /**
* \brief Renvoie un code compta, suivant le module de code compta. * \brief Renvoie un code compta, suivant le module de code compta.
* Peut être identique à celui saisit ou généré automatiquement. * Peut <EFBFBD>tre identique <EFBFBD> celui saisit ou g<EFBFBD>n<EFBFBD>r<EFBFBD> automatiquement.
* A ce jour seule la génération automatique est implémentée * A ce jour seule la g<EFBFBD>n<EFBFBD>ration automatique est impl<EFBFBD>ment<EFBFBD>e
* \param type Type de tiers ('customer' ou 'supplier') * \param type Type de tiers ('customer' ou 'supplier')
* \return string Code compta si ok, 0 si aucun, <0 si ko * \return string Code compta si ok, 0 si aucun, <0 si ko
*/ */
@ -1624,8 +1627,8 @@ class Societe
} }
/** /**
* \brief Défini la société mère pour les filiales * \brief D<EFBFBD>fini la soci<EFBFBD>t<EFBFBD> m<EFBFBD>re pour les filiales
* \param id id compagnie mère à positionner * \param id id compagnie m<EFBFBD>re <EFBFBD> positionner
* \return int <0 si ko, >0 si ok * \return int <0 si ko, >0 si ok
*/ */
function set_parent($id) function set_parent($id)
@ -1648,8 +1651,8 @@ class Societe
} }
/** /**
* \brief Supprime la société mère * \brief Supprime la soci<EFBFBD>t<EFBFBD> m<EFBFBD>re
* \param id id compagnie mère à effacer * \param id id compagnie m<EFBFBD>re <EFBFBD> effacer
* \return int <0 si ko, >0 si ok * \return int <0 si ko, >0 si ok
*/ */
function remove_parent($id) function remove_parent($id)
@ -1724,7 +1727,7 @@ class Societe
} }
/** /**
* \brief Renvoi url de vérification d'un identifiant professionnal * \brief Renvoi url de v<EFBFBD>rification d'un identifiant professionnal
* \param idprof 1,2,3,4 (Exemple: 1=siren,2=siret,3=naf,4=rcs/rm) * \param idprof 1,2,3,4 (Exemple: 1=siren,2=siret,3=naf,4=rcs/rm)
* \param soc Objet societe * \param soc Objet societe
* \return string url ou chaine vide si aucune url connue * \return string url ou chaine vide si aucune url connue
@ -1742,8 +1745,8 @@ class Societe
} }
/** /**
* \brief Indique si la société a des projets * \brief Indique si la soci<EFBFBD>t<EFBFBD> a des projets
* \return bool true si la société a des projets, false sinon * \return bool true si la soci<EFBFBD>t<EFBFBD> a des projets, false sinon
*/ */
function has_projects() function has_projects()
{ {
@ -1824,12 +1827,12 @@ class Societe
} }
/* /*
* \brief Renvoi si pays appartient à CEE * \brief Renvoi si pays appartient <EFBFBD> CEE
* \param boolean true = pays dans CEE, false= pays hors CEE * \param boolean true = pays dans CEE, false= pays hors CEE
*/ */
function isInEEC() function isInEEC()
{ {
// \todo liste code pays à compléter // \todo liste code pays <EFBFBD> compl<70>ter
$country_code_in_EEC=array('BE','FR','LU','GB','IT'); $country_code_in_EEC=array('BE','FR','LU','GB','IT');
//print "dd".$this->pays_code; //print "dd".$this->pays_code;
return in_array($this->pays_code,$country_code_in_EEC); return in_array($this->pays_code,$country_code_in_EEC);