LSattr_html :: select_list / select_object : add parameter to handle onlyAccessible LSsearch parameter

This commit is contained in:
Benjamin Renard 2017-03-23 16:29:33 +01:00
parent dc3c367f2f
commit 7aa96ae60c
5 changed files with 25 additions and 4 deletions

View file

@ -19,7 +19,8 @@
'values_attribute' => '[Nom de l'attribut clé multi-valeur]', 'values_attribute' => '[Nom de l'attribut clé multi-valeur]',
'filter' => '[Filtre de recherche des LSobject]', 'filter' => '[Filtre de recherche des LSobject]',
'scope' => '[Scope de la recherche]', 'scope' => '[Scope de la recherche]',
'basedn' => '[Basedn de la recherche]' 'basedn' => '[Basedn de la recherche]',
'onlyAccessible' => '[Booléen]'
), ),
array ( array (
'label' => '[LSformat du nom du groupe de valeurs]', 'label' => '[LSformat du nom du groupe de valeurs]',
@ -118,6 +119,13 @@
<simpara>Basedn falcultatif de la recherche des LSobjets.</simpara> <simpara>Basedn falcultatif de la recherche des LSobjets.</simpara>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry>
<term>onlyAccessible</term>
<listitem>
<simpara>Booléen falcultatif définissant si seul les LSobjets auxquels l'utilisateur connecté à accès doivent être considérés comme sélectionnables (Faux par défault).</simpara>
</listitem>
</varlistentry>
</variablelist> </variablelist>
</listitem> </listitem>

View file

@ -11,7 +11,8 @@
selectable_object => array ( selectable_object => array (
'object_type' => '[Type d'LSobject selectionnable]', 'object_type' => '[Type d'LSobject selectionnable]',
'display_name_format' => '[LSformat du nom d'affichage des LSobjects]', 'display_name_format' => '[LSformat du nom d'affichage des LSobjects]',
'value_attribute' => '[Nom de l'attribut clé des LSobjects]' 'value_attribute' => '[Nom de l'attribut clé des LSobjects]',
'onlyAccessible' => '[Booléen]'
), ),
'ordered' => [Booléen], 'ordered' => [Booléen],
'sort' => [Booléen], 'sort' => [Booléen],
@ -62,6 +63,13 @@
lors de la sélection des objets.</simpara> lors de la sélection des objets.</simpara>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry>
<term>onlyAccessible</term>
<listitem>
<simpara>Booléen falcultatif définissant si seul les LSobjets auxquels l'utilisateur connecté à accès doivent être considérés comme sélectionnables (Faux par défault).</simpara>
</listitem>
</varlistentry>
</variablelist> </variablelist>
</listitem> </listitem>

View file

@ -170,6 +170,7 @@ class LSattr_html_select_list extends LSattr_html{
'basedn' => (isset($conf['basedn'])?$conf['basedn']:null), 'basedn' => (isset($conf['basedn'])?$conf['basedn']:null),
'scope' => (isset($conf['scope'])?$conf['scope']:null), 'scope' => (isset($conf['scope'])?$conf['scope']:null),
'displayFormat' => (isset($conf['display_name_format'])?$conf['display_name_format']:null), 'displayFormat' => (isset($conf['display_name_format'])?$conf['display_name_format']:null),
'onlyAccessible' => (isset($conf['onlyAccessible'])?$conf['onlyAccessible']:False),
); );
if (isset($conf['value_attribute']) && $conf['value_attribute']!='dn') { if (isset($conf['value_attribute']) && $conf['value_attribute']!='dn') {

View file

@ -165,7 +165,9 @@ class LSattr_html_select_object extends LSattr_html{
foreach($values as $val) { foreach($values as $val) {
if (!empty($val)) { if (!empty($val)) {
$filter=Net_LDAP2_Filter::create($conf['value_attribute'],'equals',$val); $filter=Net_LDAP2_Filter::create($conf['value_attribute'],'equals',$val);
$listobj = $obj -> listObjectsName($filter,NULL,array(),$conf['display_name_format']); $sparams=array();
$sparams['onlyAccessible'] = (isset($conf['onlyAccessible'])?$conf['onlyAccessible']:False);
$listobj = $obj -> listObjectsName($filter,NULL,$sparams,$conf['display_name_format']);
if (count($listobj)==1) { if (count($listobj)==1) {
foreach($listobj as $dn => $name) { foreach($listobj as $dn => $name) {
$DNs[]=$dn; $DNs[]=$dn;

View file

@ -179,7 +179,9 @@ class LSformElement_select_object extends LSformElement {
if (is_array($this -> params['html_options']['selectable_object'])) { if (is_array($this -> params['html_options']['selectable_object'])) {
if (LSsession :: loadLSobject($this -> params['html_options']['selectable_object']['object_type'])) { if (LSsession :: loadLSobject($this -> params['html_options']['selectable_object']['object_type'])) {
$obj = new $this -> params['html_options']['selectable_object']['object_type'](); $obj = new $this -> params['html_options']['selectable_object']['object_type']();
$ret = $obj -> getSelectArray($pattern,NULL,$this -> params['html_options']['selectable_object']['display_name_format'],false,true,$this -> params['html_options']['selectable_object']['filter']); $sparams = array();
$sparams['onlyAccessible'] = (isset($this -> params['html_options']['selectable_object']['onlyAccessible'])?$this -> params['html_options']['selectable_object']['onlyAccessible']:FALSE);
$ret = $obj -> getSelectArray($pattern,NULL,$this -> params['html_options']['selectable_object']['display_name_format'],false,true,(isset($this -> params['html_options']['selectable_object']['filter'])?$this -> params['html_options']['selectable_object']['filter']:NULL),$sparams);
if (is_array($ret)) { if (is_array($ret)) {
return $ret; return $ret;
} }