New: task #10117 : Add default language of third party

This commit is contained in:
Laurent Destailleur 2010-02-21 13:08:02 +00:00
parent 2e962068cc
commit 3ccd60c319
7 changed files with 72 additions and 24 deletions

View File

@ -1,7 +1,7 @@
<?php <?php
/* Copyright (C) 2002-2004 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2002-2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be> * Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
* Copyright (C) 2004-2009 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2004-2010 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2008 Regis Houssin <regis@dolibarr.fr> * Copyright (C) 2005-2008 Regis Houssin <regis@dolibarr.fr>
* Copyright (C) 2007 Franky Van Liedekerke <franky.van.liedekerker@telenet.be> * Copyright (C) 2007 Franky Van Liedekerke <franky.van.liedekerker@telenet.be>
* Copyright (C) 2008 Raphael Bertrand (Resultic) <raphael.bertrand@resultic.fr> * Copyright (C) 2008 Raphael Bertrand (Resultic) <raphael.bertrand@resultic.fr>
@ -24,7 +24,7 @@
/** /**
* \file htdocs/contact.class.php * \file htdocs/contact.class.php
* \ingroup societe * \ingroup societe
* \brief Fichier de la classe des contacts * \brief File of contacts class
* \version $Id$ * \version $Id$
*/ */
@ -57,6 +57,7 @@ class Contact extends CommonObject
var $code; var $code;
var $email; var $email;
var $birthday; var $birthday;
var $default_lang;
var $ref_facturation; // Nb de reference facture pour lequel il est contact var $ref_facturation; // Nb de reference facture pour lequel il est contact
var $ref_contrat; // Nb de reference contrat 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 id Id du contact a mettre a jour
* \param user Objet utilisateur qui effectue la mise a jour * \param user Objet utilisateur qui effectue la mise a jour
* \param notrigger 0=non, 1=oui * \param notrigger 0=non, 1=oui
@ -182,6 +183,7 @@ class Contact extends CommonObject
$sql .= ", jabberid = '".addslashes($this->jabberid)."'"; $sql .= ", jabberid = '".addslashes($this->jabberid)."'";
$sql .= ", priv = '".$this->priv."'"; $sql .= ", priv = '".$this->priv."'";
$sql .= ", fk_user_modif=".($user->id > 0 ? "'".$user->id."'":"null"); $sql .= ", fk_user_modif=".($user->id > 0 ? "'".$user->id."'":"null");
$sql .= ", default_lang=".($this->default_lang?"'".$this->default_lang."'":"null");
$sql .= " WHERE rowid=".$id; $sql .= " WHERE rowid=".$id;
dol_syslog("Contact::update sql=".$sql,LOG_DEBUG); 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.fk_pays, p.libelle as pays, p.code as pays_code,";
$sql.= " c.birthday,"; $sql.= " c.birthday,";
$sql.= " c.poste, c.phone, c.phone_perso, c.phone_mobile, c.fax, c.email, c.jabberid,"; $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.= " 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.= " 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."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"; $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; //print "fetch: ".$obj->birthday.'-'.$this->birthday;
$this->birthday_alert = $obj->birthday_alert; $this->birthday_alert = $obj->birthday_alert;
$this->note = $obj->note; $this->note = $obj->note;
$this->default_lang = $obj->default_lang;
$this->user_id = $obj->user_id; $this->user_id = $obj->user_id;
$this->user_login = $obj->user_login; $this->user_login = $obj->user_login;

View File

@ -47,18 +47,26 @@ class FormAdmin
/** /**
* \brief Retourne la liste deroulante des langues disponibles * \brief Retourne la liste deroulante des langues disponibles
* \param selected Langue pre-selectionnee * \param selected Langue pre-selectionnee
* \param htmlname Nom de la zone select * \param htmlname Nom de la zone select
* \param showauto Affiche choix auto * \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; global $langs;
$langs_available=$langs->get_available_languages(); $langs_available=$langs->get_available_languages();
print '<select class="flat" name="'.$htmlname.'">'; print '<select class="flat" name="'.$htmlname.'">';
if ($showempty)
{
print '<option value=""';
if ($selected == '') print ' selected="true"';
print '>&nbsp;</option>';
}
if ($showauto) if ($showauto)
{ {
print '<option value="auto"'; print '<option value="auto"';

View File

@ -68,6 +68,7 @@ Zip=Zip Code
Town=City Town=City
Web=Web Web=Web
Poste = Position Poste = Position
DefaultLang=Language by default
VATIsUsed=VAT is used VATIsUsed=VAT is used
VATIsNotUsed=VAT is not used VATIsNotUsed=VAT is not used
##### Local Taxes ##### ##### Local Taxes #####

View File

@ -69,6 +69,7 @@ Zip=Code postal
Town=Ville Town=Ville
Web=Web Web=Web
Poste = Poste Poste = Poste
DefaultLang=Langue par défaut
VATIsUsed=Assujetti à TVA VATIsUsed=Assujetti à TVA
VATIsNotUsed=Non assujetti à TVA VATIsNotUsed=Non assujetti à TVA
##### Local Taxes ##### ##### Local Taxes #####

View File

@ -1,7 +1,7 @@
<?php <?php
/* Copyright (C) 2001-2007 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2001-2007 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2003 Brian Fraval <brian@fraval.org> * Copyright (C) 2003 Brian Fraval <brian@fraval.org>
* Copyright (C) 2004-2009 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2004-2010 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005 Eric Seigne <eric.seigne@ryxeo.com> * Copyright (C) 2005 Eric Seigne <eric.seigne@ryxeo.com>
* Copyright (C) 2005-2009 Regis Houssin <regis@dolibarr.fr> * Copyright (C) 2005-2009 Regis Houssin <regis@dolibarr.fr>
* Copyright (C) 2008 Patrick Raguin <patrick.raguin@auguria.net> * Copyright (C) 2008 Patrick Raguin <patrick.raguin@auguria.net>
@ -31,6 +31,7 @@
require("pre.inc.php"); require("pre.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/company.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/company.lib.php");
require_once(DOL_DOCUMENT_ROOT."/html.formadmin.class.php");
require_once(DOL_DOCUMENT_ROOT."/html.formcompany.class.php"); require_once(DOL_DOCUMENT_ROOT."/html.formcompany.class.php");
require_once(DOL_DOCUMENT_ROOT."/contact.class.php"); require_once(DOL_DOCUMENT_ROOT."/contact.class.php");
if ($conf->adherent->enabled) require_once(DOL_DOCUMENT_ROOT."/adherents/adherent.class.php"); if ($conf->adherent->enabled) require_once(DOL_DOCUMENT_ROOT."/adherents/adherent.class.php");
@ -134,6 +135,7 @@ if ((! $_POST["getcustomercode"] && ! $_POST["getsuppliercode"])
$soc->fournisseur_categorie = $_POST["fournisseur_categorie"]; $soc->fournisseur_categorie = $_POST["fournisseur_categorie"];
$soc->commercial_id = $_POST["commercial_id"]; $soc->commercial_id = $_POST["commercial_id"];
$soc->default_lang = $_POST["default_lang"];
// Check parameters // Check parameters
if (empty($_POST["cancel"])) if (empty($_POST["cancel"]))
@ -295,6 +297,7 @@ $help_url='EN:Module_Third_Parties|FR:Module_Tiers|ES:Empresas';
llxHeader('','',$help_url); llxHeader('','',$help_url);
$form = new Form($db); $form = new Form($db);
$formadmin = new FormAdmin($db);
$formcompany = new FormCompany($db); $formcompany = new FormCompany($db);
$countrynotdefined=$langs->trans("ErrorSetACountryFirst").' ('.$langs->trans("SeeAbove").')'; $countrynotdefined=$langs->trans("ErrorSetACountryFirst").' ('.$langs->trans("SeeAbove").')';
@ -370,6 +373,7 @@ $_GET["action"] == 'create' || $_POST["action"] == 'create')
$soc->tva_intra=$_POST["tva_intra"]; $soc->tva_intra=$_POST["tva_intra"];
$soc->commercial_id=$_POST["commercial_id"]; $soc->commercial_id=$_POST["commercial_id"];
$soc->default_lang=$_POST["default_lang"];
// We set pays_id, pays_code and libel the selected country // We set pays_id, pays_code and libel the selected country
$soc->pays_id=$_POST["pays_id"]?$_POST["pays_id"]:$conf->global->MAIN_INFO_SOCIETE_PAYS; $soc->pays_id=$_POST["pays_id"]?$_POST["pays_id"]:$conf->global->MAIN_INFO_SOCIETE_PAYS;
@ -591,6 +595,14 @@ $_GET["action"] == 'create' || $_POST["action"] == 'create')
if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1);
print '</td></tr>'; print '</td></tr>';
if ($conf->global->MAIN_MULTILANGS)
{
print '<tr><td>'.$langs->trans("DefaultLang").'</td><td colspan="3">'."\n";
$formadmin->select_lang(($soc->default_lang?$soc->default_lang:$conf->global->MAIN_LANG_DEFAULT),'default_lang',0,0,1);
print '</td>';
print '</tr>';
}
// Assujeti TVA // Assujeti TVA
$html = new Form($db); $html = new Form($db);
print '<tr><td>'.$langs->trans('VATIsUsed').'</td>'; print '<tr><td>'.$langs->trans('VATIsUsed').'</td>';
@ -653,7 +665,8 @@ $_GET["action"] == 'create' || $_POST["action"] == 'create')
print '<tr><td colspan="4" align="center">'; print '<tr><td colspan="4" align="center">';
print '<input type="submit" class="button" value="'.$langs->trans('AddThirdParty').'"></td></tr>'."\n"; print '<input type="submit" class="button" value="'.$langs->trans('AddThirdParty').'">';
print '</td></tr>'."\n";
print '</table>'."\n"; print '</table>'."\n";
print '</form>'."\n"; print '</form>'."\n";
@ -731,6 +744,7 @@ elseif ($_GET["action"] == 'edit' || $_POST["action"] == 'edit')
$soc->effectif_id=$_POST["effectif_id"]; $soc->effectif_id=$_POST["effectif_id"];
$soc->gencod=$_POST["gencod"]; $soc->gencod=$_POST["gencod"];
$soc->forme_juridique_code=$_POST["forme_juridique_code"]; $soc->forme_juridique_code=$_POST["forme_juridique_code"];
$soc->default_lang=$_POST["default_lang"];
$soc->tva_assuj = $_POST["assujtva_value"]; $soc->tva_assuj = $_POST["assujtva_value"];
$soc->tva_intra=$_POST["tva_intra"]; $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); if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1);
print '</td></tr>'; print '</td></tr>';
if ($conf->global->MAIN_MULTILANGS)
{
print '<tr><td>'.$langs->trans("DefaultLang").'</td><td colspan="3">'."\n";
$formadmin->select_lang($soc->default_lang,'default_lang',0,0,1);
print '</td>';
print '</tr>';
}
print '<tr><td align="center" colspan="4">'; print '<tr><td align="center" colspan="4">';
print '<input type="submit" class="button" name="save" value="'.$langs->trans("Save").'">'; print '<input type="submit" class="button" name="save" value="'.$langs->trans("Save").'">';
print ' &nbsp; '; print ' &nbsp; ';
@ -1233,6 +1255,14 @@ else
$soc->typent= $arr[$soc->typent_code]; $soc->typent= $arr[$soc->typent_code];
print '<tr><td>'.$langs->trans("Type").'</td><td>'.$soc->typent.'</td><td>'.$langs->trans("Staff").'</td><td>'.$soc->effectif.'</td></tr>'; print '<tr><td>'.$langs->trans("Type").'</td><td>'.$soc->typent.'</td><td>'.$langs->trans("Staff").'</td><td>'.$soc->effectif.'</td></tr>';
// Language
if ($conf->global->MAIN_MULTILANGS)
{
$langs->load("languages");
$labellang=$langs->trans('Language_'.$soc->default_lang).' ('.$soc->default_lang.')';
print '<tr><td>'.$langs->trans("DefaultLang").'</td><td colspan="3">'.$labellang.'</td></tr>';
}
// Ban // Ban
print '<tr><td>'; print '<tr><td>';
print '<table width="100%" class="nobordernopadding"><tr><td>'; print '<table width="100%" class="nobordernopadding"><tr><td>';

View File

@ -73,11 +73,11 @@ class Societe extends CommonObject
var $tva_assuj; var $tva_assuj;
var $tva_intra; var $tva_intra;
// Local taxes // Local taxes
var $localtax1_assuj; var $localtax1_assuj;
var $localtax2_assuj; var $localtax2_assuj;
var $capital; var $capital;
var $typent_id; var $typent_id;
var $typent_code; var $typent_code;
@ -111,6 +111,7 @@ class Societe extends CommonObject
var $date_update; var $date_update;
var $commercial_id; //Id du commercial affecte var $commercial_id; //Id du commercial affecte
var $default_lang;
var $import_key; var $import_key;
@ -367,7 +368,7 @@ class Societe extends CommonObject
$this->tva_assuj=trim($this->tva_assuj); $this->tva_assuj=trim($this->tva_assuj);
$this->tva_intra=dol_sanitizeFileName($this->tva_intra,''); $this->tva_intra=dol_sanitizeFileName($this->tva_intra,'');
// Local taxes // Local taxes
$this->localtax1_assuj=trim($this->localtax1_assuj); $this->localtax1_assuj=trim($this->localtax1_assuj);
$this->localtax2_assuj=trim($this->localtax2_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_assuj = ".($this->tva_assuj>=0?"'".$this->tva_assuj."'":"null");
$sql .= ",tva_intra = '" . addslashes($this->tva_intra) ."'"; $sql .= ",tva_intra = '" . addslashes($this->tva_intra) ."'";
// Local taxes // Local taxes
$sql .= ",localtax1_assuj = ".($this->localtax1_assuj>=0?"'".$this->localtax1_assuj."'":"null"); $sql .= ",localtax1_assuj = ".($this->localtax1_assuj>=0?"'".$this->localtax1_assuj."'":"null");
$sql .= ",localtax2_assuj = ".($this->localtax2_assuj>=0?"'".$this->localtax2_assuj."'":"null"); $sql .= ",localtax2_assuj = ".($this->localtax2_assuj>=0?"'".$this->localtax2_assuj."'":"null");
$sql .= ",capital = '" . addslashes($this->capital) ."'"; $sql .= ",capital = '" . addslashes($this->capital) ."'";
$sql .= ",prefix_comm = ".($this->prefix_comm?"'".addslashes($this->prefix_comm)."'":"null"); $sql .= ",prefix_comm = ".($this->prefix_comm?"'".addslashes($this->prefix_comm)."'":"null");
@ -445,6 +446,7 @@ class Societe extends CommonObject
$sql .= ",client = " . $this->client; $sql .= ",client = " . $this->client;
$sql .= ",fournisseur = " . $this->fournisseur; $sql .= ",fournisseur = " . $this->fournisseur;
$sql .= ",gencod = ".($this->gencod?"'".$this->gencod."'":"null"); $sql .= ",gencod = ".($this->gencod?"'".$this->gencod."'":"null");
$sql .= ",default_lang = ".($this->default_lang?"'".$this->default_lang."'":"null");
if ($allowmodcodeclient) if ($allowmodcodeclient)
@ -559,7 +561,7 @@ class Societe extends CommonObject
$sql .= ', s.fk_forme_juridique as forme_juridique_code'; $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.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.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 .= ', s.import_key';
$sql .= ', fj.libelle as forme_juridique'; $sql .= ', fj.libelle as forme_juridique';
$sql .= ', e.libelle as effectif'; $sql .= ', e.libelle as effectif';
@ -643,11 +645,11 @@ class Societe extends CommonObject
$this->tva_assuj = $obj->tva_assuj; $this->tva_assuj = $obj->tva_assuj;
$this->tva_intra = $obj->tva_intra; $this->tva_intra = $obj->tva_intra;
// Local Taxes // Local Taxes
$this->localtax1_assuj = $obj->localtax1_assuj; $this->localtax1_assuj = $obj->localtax1_assuj;
$this->localtax2_assuj = $obj->localtax2_assuj; $this->localtax2_assuj = $obj->localtax2_assuj;
$this->typent_id = $obj->typent_id; $this->typent_id = $obj->typent_id;
$this->typent_code = $obj->typent_code; $this->typent_code = $obj->typent_code;
@ -669,6 +671,8 @@ class Societe extends CommonObject
$this->fournisseur = $obj->fournisseur; $this->fournisseur = $obj->fournisseur;
$this->note = $obj->note; $this->note = $obj->note;
$this->default_lang = $obj->default_lang;
// multiprix // multiprix
$this->price_level = $obj->price_level; $this->price_level = $obj->price_level;

View File

@ -505,8 +505,9 @@ class Translate {
/** /**
* \brief Return list of all available languages * \brief Return list of all available languages
* \return array list of languages * \param langdir Directory to scan
* \return array List of languages
*/ */
function get_available_languages($langdir=DOL_DOCUMENT_ROOT) function get_available_languages($langdir=DOL_DOCUMENT_ROOT)
{ {
@ -519,7 +520,7 @@ class Translate {
{ {
$this->load("languages"); $this->load("languages");
$langs_available[$dir] = $this->trans('Language_'.$dir); $langs_available[$dir] = $this->trans('Language_'.$dir).' - '.$dir;
} }
} }
return $langs_available; return $langs_available;