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
/* Copyright (C) 2002-2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* 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) 2007 Franky Van Liedekerke <franky.van.liedekerker@telenet.be>
* Copyright (C) 2008 Raphael Bertrand (Resultic) <raphael.bertrand@resultic.fr>
@ -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;

View File

@ -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 '<select class="flat" name="'.$htmlname.'">';
if ($showempty)
{
print '<option value=""';
if ($selected == '') print ' selected="true"';
print '>&nbsp;</option>';
}
if ($showauto)
{
print '<option value="auto"';

View File

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

View File

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

View File

@ -1,7 +1,7 @@
<?php
/* Copyright (C) 2001-2007 Rodolphe Quiedeville <rodolphe@quiedeville.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-2009 Regis Houssin <regis@dolibarr.fr>
* Copyright (C) 2008 Patrick Raguin <patrick.raguin@auguria.net>
@ -31,6 +31,7 @@
require("pre.inc.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."/contact.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->commercial_id = $_POST["commercial_id"];
$soc->default_lang = $_POST["default_lang"];
// Check parameters
if (empty($_POST["cancel"]))
@ -295,6 +297,7 @@ $help_url='EN:Module_Third_Parties|FR:Module_Tiers|ES:Empresas';
llxHeader('','',$help_url);
$form = new Form($db);
$formadmin = new FormAdmin($db);
$formcompany = new FormCompany($db);
$countrynotdefined=$langs->trans("ErrorSetACountryFirst").' ('.$langs->trans("SeeAbove").')';
@ -370,6 +373,7 @@ $_GET["action"] == 'create' || $_POST["action"] == 'create')
$soc->tva_intra=$_POST["tva_intra"];
$soc->commercial_id=$_POST["commercial_id"];
$soc->default_lang=$_POST["default_lang"];
// 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;
@ -591,6 +595,14 @@ $_GET["action"] == 'create' || $_POST["action"] == 'create')
if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1);
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
$html = new Form($db);
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 '<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 '</form>'."\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 '</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 '<input type="submit" class="button" name="save" value="'.$langs->trans("Save").'">';
print ' &nbsp; ';
@ -1233,6 +1255,14 @@ else
$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>';
// 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
print '<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_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;

View File

@ -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;