From 3ccd60c3199b8b3088e4ae18052cced5dc7143ef Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 21 Feb 2010 13:08:02 +0000 Subject: [PATCH] New: task #10117 : Add default language of third party --- htdocs/contact.class.php | 15 ++++++++------ htdocs/html.formadmin.class.php | 18 +++++++++++----- htdocs/langs/en_US/companies.lang | 1 + htdocs/langs/fr_FR/companies.lang | 1 + htdocs/soc.php | 34 +++++++++++++++++++++++++++++-- htdocs/societe.class.php | 20 ++++++++++-------- htdocs/translate.class.php | 7 ++++--- 7 files changed, 72 insertions(+), 24 deletions(-) diff --git a/htdocs/contact.class.php b/htdocs/contact.class.php index af2f7aa96bb..a9dc0c7efa8 100644 --- a/htdocs/contact.class.php +++ b/htdocs/contact.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2004-2009 Laurent Destailleur + * Copyright (C) 2004-2010 Laurent Destailleur * Copyright (C) 2005-2008 Regis Houssin * Copyright (C) 2007 Franky Van Liedekerke * Copyright (C) 2008 Raphael Bertrand (Resultic) @@ -24,7 +24,7 @@ /** * \file htdocs/contact.class.php * \ingroup societe - * \brief Fichier de la classe des contacts + * \brief File of contacts class * \version $Id$ */ @@ -57,6 +57,7 @@ class Contact extends CommonObject var $code; var $email; var $birthday; + var $default_lang; var $ref_facturation; // Nb de reference facture pour lequel il est contact var $ref_contrat; // Nb de reference contrat pour lequel il est contact @@ -135,8 +136,8 @@ class Contact extends CommonObject } } - /* - * \brief Mise a jour des infos en base + /** + * \brief Update informations into database * \param id Id du contact a mettre a jour * \param user Objet utilisateur qui effectue la mise a jour * \param notrigger 0=non, 1=oui @@ -182,6 +183,7 @@ class Contact extends CommonObject $sql .= ", jabberid = '".addslashes($this->jabberid)."'"; $sql .= ", priv = '".$this->priv."'"; $sql .= ", fk_user_modif=".($user->id > 0 ? "'".$user->id."'":"null"); + $sql .= ", default_lang=".($this->default_lang?"'".$this->default_lang."'":"null"); $sql .= " WHERE rowid=".$id; dol_syslog("Contact::update sql=".$sql,LOG_DEBUG); @@ -390,9 +392,9 @@ class Contact extends CommonObject $sql.= " c.fk_pays, p.libelle as pays, p.code as pays_code,"; $sql.= " c.birthday,"; $sql.= " c.poste, c.phone, c.phone_perso, c.phone_mobile, c.fax, c.email, c.jabberid,"; - $sql.= " c.priv, c.note,"; + $sql.= " c.priv, c.note, c.default_lang"; $sql.= " u.rowid as user_id, u.login as user_login,"; - $sql.= " s.nom as socname, s.address as socaddress, s.cp as soccp, s.ville as soccity"; + $sql.= " s.nom as socname, s.address as socaddress, s.cp as soccp, s.ville as soccity, s.default_lang as socdefault_lang"; $sql.= " FROM ".MAIN_DB_PREFIX."socpeople as c"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_pays as p ON c.fk_pays = p.rowid"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."user as u ON c.rowid = u.fk_socpeople"; @@ -442,6 +444,7 @@ class Contact extends CommonObject //print "fetch: ".$obj->birthday.'-'.$this->birthday; $this->birthday_alert = $obj->birthday_alert; $this->note = $obj->note; + $this->default_lang = $obj->default_lang; $this->user_id = $obj->user_id; $this->user_login = $obj->user_login; diff --git a/htdocs/html.formadmin.class.php b/htdocs/html.formadmin.class.php index b96d556465f..ef4167cee68 100644 --- a/htdocs/html.formadmin.class.php +++ b/htdocs/html.formadmin.class.php @@ -47,18 +47,26 @@ class FormAdmin /** - * \brief Retourne la liste deroulante des langues disponibles - * \param selected Langue pre-selectionnee - * \param htmlname Nom de la zone select - * \param showauto Affiche choix auto + * \brief Retourne la liste deroulante des langues disponibles + * \param selected Langue pre-selectionnee + * \param htmlname Nom de la zone select + * \param showauto Affiche choix auto + * \param filter Array of keys to exclude in list + * \param showempty Add empty value */ - function select_lang($selected='',$htmlname='lang_id',$showauto=0,$filter=0) + function select_lang($selected='',$htmlname='lang_id',$showauto=0,$filter=0,$showempty=0) { global $langs; $langs_available=$langs->get_available_languages(); print ''."\n"; + print ''; + print ''."\n"; print ''."\n"; print ''."\n"; @@ -731,6 +744,7 @@ elseif ($_GET["action"] == 'edit' || $_POST["action"] == 'edit') $soc->effectif_id=$_POST["effectif_id"]; $soc->gencod=$_POST["gencod"]; $soc->forme_juridique_code=$_POST["forme_juridique_code"]; + $soc->default_lang=$_POST["default_lang"]; $soc->tva_assuj = $_POST["assujtva_value"]; $soc->tva_intra=$_POST["tva_intra"]; @@ -995,6 +1009,14 @@ elseif ($_GET["action"] == 'edit' || $_POST["action"] == 'edit') if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); print ''; + if ($conf->global->MAIN_MULTILANGS) + { + print ''.$langs->trans("DefaultLang").''."\n"; + $formadmin->select_lang($soc->default_lang,'default_lang',0,0,1); + print ''; + print ''; + } + print ''; print ''; print '   '; @@ -1233,6 +1255,14 @@ else $soc->typent= $arr[$soc->typent_code]; print ''.$langs->trans("Type").''.$soc->typent.''.$langs->trans("Staff").''.$soc->effectif.''; + // Language + if ($conf->global->MAIN_MULTILANGS) + { + $langs->load("languages"); + $labellang=$langs->trans('Language_'.$soc->default_lang).' ('.$soc->default_lang.')'; + print ''.$langs->trans("DefaultLang").''.$labellang.''; + } + // Ban print ''; print '
'; diff --git a/htdocs/societe.class.php b/htdocs/societe.class.php index 3dac0aca40b..0c3c29181fc 100644 --- a/htdocs/societe.class.php +++ b/htdocs/societe.class.php @@ -73,11 +73,11 @@ class Societe extends CommonObject var $tva_assuj; var $tva_intra; - + // Local taxes var $localtax1_assuj; var $localtax2_assuj; - + var $capital; var $typent_id; var $typent_code; @@ -111,6 +111,7 @@ class Societe extends CommonObject var $date_update; var $commercial_id; //Id du commercial affecte + var $default_lang; var $import_key; @@ -367,7 +368,7 @@ class Societe extends CommonObject $this->tva_assuj=trim($this->tva_assuj); $this->tva_intra=dol_sanitizeFileName($this->tva_intra,''); - + // Local taxes $this->localtax1_assuj=trim($this->localtax1_assuj); $this->localtax2_assuj=trim($this->localtax2_assuj); @@ -427,11 +428,11 @@ class Societe extends CommonObject $sql .= ",tva_assuj = ".($this->tva_assuj>=0?"'".$this->tva_assuj."'":"null"); $sql .= ",tva_intra = '" . addslashes($this->tva_intra) ."'"; - + // Local taxes $sql .= ",localtax1_assuj = ".($this->localtax1_assuj>=0?"'".$this->localtax1_assuj."'":"null"); $sql .= ",localtax2_assuj = ".($this->localtax2_assuj>=0?"'".$this->localtax2_assuj."'":"null"); - + $sql .= ",capital = '" . addslashes($this->capital) ."'"; $sql .= ",prefix_comm = ".($this->prefix_comm?"'".addslashes($this->prefix_comm)."'":"null"); @@ -445,6 +446,7 @@ class Societe extends CommonObject $sql .= ",client = " . $this->client; $sql .= ",fournisseur = " . $this->fournisseur; $sql .= ",gencod = ".($this->gencod?"'".$this->gencod."'":"null"); + $sql .= ",default_lang = ".($this->default_lang?"'".$this->default_lang."'":"null"); if ($allowmodcodeclient) @@ -559,7 +561,7 @@ class Societe extends CommonObject $sql .= ', s.fk_forme_juridique as forme_juridique_code'; $sql .= ', s.code_client, s.code_fournisseur, s.code_compta, s.code_compta_fournisseur, s.parent, s.gencod'; $sql .= ', s.fk_departement, s.fk_pays, s.fk_stcomm, s.remise_client, s.mode_reglement, s.cond_reglement, s.tva_assuj'; - $sql .= ', s.localtax1_assuj, s.localtax2_assuj, s.fk_prospectlevel'; + $sql .= ', s.localtax1_assuj, s.localtax2_assuj, s.fk_prospectlevel, s.default_lang'; $sql .= ', s.import_key'; $sql .= ', fj.libelle as forme_juridique'; $sql .= ', e.libelle as effectif'; @@ -643,11 +645,11 @@ class Societe extends CommonObject $this->tva_assuj = $obj->tva_assuj; $this->tva_intra = $obj->tva_intra; - + // Local Taxes $this->localtax1_assuj = $obj->localtax1_assuj; $this->localtax2_assuj = $obj->localtax2_assuj; - + $this->typent_id = $obj->typent_id; $this->typent_code = $obj->typent_code; @@ -669,6 +671,8 @@ class Societe extends CommonObject $this->fournisseur = $obj->fournisseur; $this->note = $obj->note; + $this->default_lang = $obj->default_lang; + // multiprix $this->price_level = $obj->price_level; diff --git a/htdocs/translate.class.php b/htdocs/translate.class.php index 935c3bda268..f453b922eb2 100644 --- a/htdocs/translate.class.php +++ b/htdocs/translate.class.php @@ -505,8 +505,9 @@ class Translate { /** - * \brief Return list of all available languages - * \return array list of languages + * \brief Return list of all available languages + * \param langdir Directory to scan + * \return array List of languages */ function get_available_languages($langdir=DOL_DOCUMENT_ROOT) { @@ -519,7 +520,7 @@ class Translate { { $this->load("languages"); - $langs_available[$dir] = $this->trans('Language_'.$dir); + $langs_available[$dir] = $this->trans('Language_'.$dir).' - '.$dir; } } return $langs_available;