From bdd0672917a63d77a164f769f9af161f627d188a Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@users.sourceforge.net> Date: Thu, 17 Jun 2010 22:19:37 +0000 Subject: [PATCH] Add state --- ChangeLog | 3 ++- htdocs/admin/company.php | 26 ++++++++++++++++++++++++++ htdocs/core/class/html.form.class.php | 2 +- htdocs/lib/company.lib.php | 13 +++++++------ htdocs/master.inc.php | 9 ++++++--- htdocs/societe/class/societe.class.php | 10 ++++++++-- 6 files changed, 50 insertions(+), 13 deletions(-) diff --git a/ChangeLog b/ChangeLog index 03a86442e4e..95b1b7a37ef 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,7 +4,8 @@ English Dolibarr ChangeLog For users: - New: POS module allow to choose which warehouse use. -- New: Support "Department/State" field on contact and members card. +- New: Support "Department/State" field on company setup, contact + and members card. - New: Can reopen a refused/canceled supplier order. - New: Add Gant diagramm on project module. - New: Add a new mode for automatic stock increase: Can be increased diff --git a/htdocs/admin/company.php b/htdocs/admin/company.php index 073de5ebbbb..0b7094ab3a2 100644 --- a/htdocs/admin/company.php +++ b/htdocs/admin/company.php @@ -58,6 +58,7 @@ if ( (isset($_POST["action"]) && $_POST["action"] == 'update') dolibarr_set_const($db, "MAIN_INFO_SOCIETE_VILLE",$_POST["ville"],'chaine',0,'',$conf->entity); dolibarr_set_const($db, "MAIN_INFO_SOCIETE_CP",$_POST["cp"],'chaine',0,'',$conf->entity); dolibarr_set_const($db, "MAIN_INFO_SOCIETE_PAYS",$_POST["pays_id"],'chaine',0,'',$conf->entity); + dolibarr_set_const($db, "MAIN_INFO_SOCIETE_DEPARTEMENT",$_POST["departement_id"],'chaine',0,'',$conf->entity); dolibarr_set_const($db, "MAIN_MONNAIE",$_POST["currency"],'chaine',0,'',$conf->entity); dolibarr_set_const($db, "MAIN_INFO_SOCIETE_TEL",$_POST["tel"],'chaine',0,'',$conf->entity); dolibarr_set_const($db, "MAIN_INFO_SOCIETE_FAX",$_POST["fax"],'chaine',0,'',$conf->entity); @@ -267,6 +268,12 @@ if ((isset($_GET["action"]) && $_GET["action"] == 'edit') if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); print '</td></tr>'."\n"; + $var=!$var; + print '<tr '.$bc[$var].'><td>'.$langs->trans("State").'</td><td>'; + $pays_code=getCountryLabel($conf->global->MAIN_INFO_SOCIETE_PAYS,2); + $formcompany->select_departement($conf->global->MAIN_INFO_SOCIETE_DEPARTEMENT,$pays_code,'departement_id'); + print '</td></tr>'."\n"; + $var=!$var; print '<tr '.$bc[$var].'><td>'.$langs->trans("CompanyCurrency").'</td><td>'; $form->select_currency($conf->global->MAIN_MONNAIE,"currency"); @@ -597,6 +604,25 @@ else print getCountryLabel($conf->global->MAIN_INFO_SOCIETE_PAYS,1); print '</td></tr>'; + $var=!$var; + print '<tr '.$bc[$var].'><td>'.$langs->trans("State").'</td><td>'; + if ($conf->global->MAIN_INFO_SOCIETE_DEPARTEMENT) + { + $sql = "SELECT code_departement as code, nom as label from ".MAIN_DB_PREFIX."c_departements where rowid = '".$conf->global->MAIN_INFO_SOCIETE_DEPARTEMENT."'"; + $resql=$db->query($sql); + if ($resql) + { + $obj = $db->fetch_object($resql); + } + else + { + dol_print_error($db); + } + $state=$obj->label; + print $state; + } + print '</td></tr>'; + $var=!$var; print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("CompanyCurrency").'</td><td>'; print currency_name($conf->global->MAIN_MONNAIE,1); diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php index 33705295c36..d74b6bfa7f0 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -256,7 +256,7 @@ class Form * \param selected Id ou Code pays ou Libelle pays pre-selectionne * \param htmlname Nom de la liste deroulante * \param htmloption Options html sur le select - * \todo trier liste sur noms apres traduction plutot que avant + * \TODO trier liste sur noms apres traduction plutot que avant */ function select_pays($selected='',$htmlname='pays_id',$htmloption='') { diff --git a/htdocs/lib/company.lib.php b/htdocs/lib/company.lib.php index a7f2c722cb7..7b22467f6e0 100644 --- a/htdocs/lib/company.lib.php +++ b/htdocs/lib/company.lib.php @@ -180,10 +180,10 @@ function societe_prepare_head2($objsoc) /** - * \brief Retourne le nom traduit ou code+nom d'un pays - * \param id id du pays - * \param withcode 1=affiche code + nom - * \return string Nom traduit du pays + * \brief Retourne le nom traduit ou code+nom d'un pays depuis id + * \param id id of country + * \param withcode 0=Return label, 1=Return code + label, 2=Return code + * \return string String with country code or translated country name */ function getCountryLabel($id,$withcode=0) { @@ -199,8 +199,9 @@ function getCountryLabel($id,$withcode=0) $obj = $db->fetch_object($resql); if ($obj) { - $label=$obj->code && $langs->trans("Country".$obj->code)!="Country".$obj->code?$langs->trans("Country".$obj->code):($obj->libelle!='-'?$obj->libelle:''); - if ($withcode) return $label==$obj->code?"$obj->code":"$obj->code - $label"; + $label=($obj->code && $langs->trans("Country".$obj->code)!="Country".$obj->code)?$langs->trans("Country".$obj->code):($obj->libelle!='-'?$obj->libelle:''); + if ($withcode == 1) return $label=$obj->code?"$obj->code":"$obj->code - $label"; + else if ($withcode == 2) return $label=$obj->code; else return $label; } else diff --git a/htdocs/master.inc.php b/htdocs/master.inc.php index 59c25e2a37d..9d63d25d463 100644 --- a/htdocs/master.inc.php +++ b/htdocs/master.inc.php @@ -349,18 +349,20 @@ if (! defined('NOREQUIREDB') && ! defined('NOREQUIRESOC')) $mysoc->zip=$conf->global->MAIN_INFO_SOCIETE_CP; $mysoc->ville=$conf->global->MAIN_INFO_SOCIETE_VILLE; // TODO obsolete $mysoc->town=$conf->global->MAIN_INFO_SOCIETE_VILLE; + $mysoc->departement_id=$conf->global->MAIN_INFO_SOCIETE_DEPARTEMENT; $mysoc->note=$conf->global->MAIN_INFO_SOCIETE_NOTE; - // Si dans MAIN_INFO_SOCIETE_PAYS on a un id de pays, on recupere code + // For backwar compatibility: Si dans MAIN_INFO_SOCIETE_PAYS on a un id de pays, on recupere code if (is_numeric($conf->global->MAIN_INFO_SOCIETE_PAYS)) { - $mysoc->pays_id=$conf->global->MAIN_INFO_SOCIETE_PAYS; - $sql = "SELECT code, libelle as label from ".MAIN_DB_PREFIX."c_pays"; + $sql = "SELECT rowid, code, libelle as label from ".MAIN_DB_PREFIX."c_pays"; $sql .= " WHERE rowid = ".$conf->global->MAIN_INFO_SOCIETE_PAYS; $result=$db->query($sql); if ($result) { $obj = $db->fetch_object(); + $mysoc->pays_id=$conf->rowid; $mysoc->pays_code=$obj->code; + $mysoc->pays=$obj->code?($langs->trans('Country'.$obj->code)!='Country'.$obj->code?$langs->trans('Country'.$obj->code):$obj->label):''; // deprecated $mysoc->country=$obj->code?($langs->trans('Country'.$obj->code)!='Country'.$obj->code?$langs->trans('Country'.$obj->code):$obj->label):''; } else { @@ -371,6 +373,7 @@ if (! defined('NOREQUIREDB') && ! defined('NOREQUIRESOC')) else { $mysoc->pays_code=$conf->global->MAIN_INFO_SOCIETE_PAYS; + $mysoc->pays=$conf->global->MAIN_INFO_SOCIETE_PAYS?$langs->trans('Country'.$conf->global->MAIN_INFO_SOCIETE_PAYS):''; // deprecated $mysoc->country=$conf->global->MAIN_INFO_SOCIETE_PAYS?$langs->trans('Country'.$conf->global->MAIN_INFO_SOCIETE_PAYS):''; } $mysoc->tel=$conf->global->MAIN_INFO_SOCIETE_TEL; // TODO obsolete diff --git a/htdocs/societe/class/societe.class.php b/htdocs/societe/class/societe.class.php index 0b628971946..b4079837a09 100644 --- a/htdocs/societe/class/societe.class.php +++ b/htdocs/societe/class/societe.class.php @@ -54,9 +54,16 @@ class Societe extends CommonObject var $adresse; // TODO obsolete var $cp; var $ville; + var $departement_id; + var $departement_code; + var $departement; + var $pays_id; var $pays_code; + var $pays; // TODO obsolete + var $country; + var $tel; var $fax; var $email; @@ -1466,8 +1473,7 @@ class Societe extends CommonObject require_once DOL_DOCUMENT_ROOT . "/societe/class/companybankaccount.class.php"; $bac = new CompanyBankAccount($this->db); - $bac->socid = $this->id; - $bac->fetch($this->id); + $bac->fetch(0,$this->id); if ($bac->code_banque || $bac->code_guichet || $bac->number || $bac->cle_rib) { -- GitLab