diff --git a/htdocs/core/class/html.formcompany.class.php b/htdocs/core/class/html.formcompany.class.php
index 7720ab75984..c42a48aa044 100644
--- a/htdocs/core/class/html.formcompany.class.php
+++ b/htdocs/core/class/html.formcompany.class.php
@@ -49,11 +49,12 @@ class FormCompany
/**
- * \brief Renvoie la liste des libelles traduits des types actifs de societes
- * \param mode 0=renvoi id+libelle, 1=renvoi code+libelle
- * \return array tableau des types
+ * Return list of labels (translated) of third parties type
+ * @param mode 0=Return id+label, 1=Return code+label
+ * @param filter Add a SQL filter to select
+ * @return array Array of types
*/
- function typent_array($mode=0)
+ function typent_array($mode=0, $filter='')
{
global $langs;
@@ -62,6 +63,7 @@ class FormCompany
$sql = "SELECT id, code, libelle";
$sql.= " FROM ".MAIN_DB_PREFIX."c_typent";
$sql.= " WHERE active = 1";
+ if ($filter) $sql.=" ".$filter;
$sql.= " ORDER by id";
dol_syslog('Form::typent_array sql='.$sql,LOG_DEBUG);
$resql=$this->db->query($sql);
@@ -403,23 +405,25 @@ class FormCompany
}
/**
- * \brief Retourne la liste deroulante des formes juridiques tous pays confondus ou pour un pays donne.
- * \remarks Dans le cas d'une liste tous pays confondu, on affiche une rupture sur le pays
- * \param selected Code forme juridique a pre-selectionne
- * \param pays_code 0=liste tous pays confondus, sinon code du pays a afficher
+ * Retourne la liste deroulante des formes juridiques tous pays confondus ou pour un pays donne.
+ * Dans le cas d'une liste tous pays confondu, on affiche une rupture sur le pays
+ * @param selected Code forme juridique a pre-selectionne
+ * @param pays_code 0=liste tous pays confondus, sinon code du pays a afficher
+ * @param filter Add a SQL filter on list
*/
- function select_forme_juridique($selected='',$pays_code=0)
+ function select_forme_juridique($selected='', $pays_code=0, $filter='')
{
- print $this->select_juridicalstatus($selected,$pays_code);
+ print $this->select_juridicalstatus($selected, $pays_code, $filter);
}
/**
- * \brief Retourne la liste deroulante des formes juridiques tous pays confondus ou pour un pays donne.
- * \remarks Dans le cas d'une liste tous pays confondu, on affiche une rupture sur le pays
- * \param selected Code forme juridique a pre-selectionne
- * \param pays_code 0=liste tous pays confondus, sinon code du pays a afficher
+ * Retourne la liste deroulante des formes juridiques tous pays confondus ou pour un pays donne.
+ * Dans le cas d'une liste tous pays confondu, on affiche une rupture sur le pays
+ * @param selected Code forme juridique a pre-selectionne
+ * @param pays_code 0=liste tous pays confondus, sinon code du pays a afficher
+ * @param filter Add a SQL filter on list
*/
- function select_juridicalstatus($selected='',$pays_code=0)
+ function select_juridicalstatus($selected='', $pays_code=0, $filter='')
{
global $conf,$langs,$user;
$langs->load("dict");
@@ -432,6 +436,7 @@ class FormCompany
$sql .= " WHERE f.fk_pays=p.rowid";
$sql .= " AND f.active = 1 AND p.active = 1";
if ($pays_code) $sql .= " AND p.code = '".$pays_code."'";
+ if ($filter) $sql .= " ".$filter;
$sql .= " ORDER BY p.code, f.code";
dol_syslog("Form::select_forme_juridique sql=".$sql);