LSformElement::boolean : add true_label and false_label parameters

This commit is contained in:
Benjamin Renard 2018-09-13 16:25:40 +02:00
parent 408c6d82cf
commit f94471e6e5
3 changed files with 49 additions and 5 deletions

View file

@ -1,17 +1,53 @@
<sect4 id="config-LSattr_html_boolean">
<title>LSattr_html_boolean</title>
<para>Ce type est utilisé pour la gestion des attributs dont la valeur est
un booléen. Pour le moment, les attributs à valeurs multiples ne sont pas gérés.
La valeur retournée est l'une des chaînes de caractères suivantes :
un booléen.</para>
<para>La valeur retournée est l'une des chaînes de caractères suivantes :
<itemizedlist>
<listitem><simpara><literal>yes</literal> pour <emphasis>Vrai</emphasis></simpara></listitem>
<listitem><simpara><literal>no</literal> pour <emphasis>Faux</emphasis></simpara></listitem>
</itemizedlist>
</para>
<programlisting linenumbering="unnumbered">
<citetitle>Structure</citetitle>...
<![CDATA['html_options' => array (
'true_label' => '[label]',
'false_label' => '[label]',
),]]>
...
</programlisting>
<variablelist>
<title>Paramètres de configuration</title>
<varlistentry>
<term>true_label</term>
<listitem>
<simpara>Label affiché pour désigner la valeur <literal>Vrai</literal>.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>false_label</term>
<listitem>
<simpara>Label affiché pour désigner la valeur <literal>Faux</literal>.</simpara>
</listitem>
</varlistentry>
</variablelist>
<note><simpara>Pour le moment, les attributs à valeurs multiples ne sont pas gérés.
</simpara></note>
<note><simpara>Pour maîtriser les valeurs stockées dans l'annuaire, il faut
coupler ce type d'attribut HTML avec le type d'attribut LDAP
<link linkend='config-LSattr_ldap_boolean'>boolean</link></simpara></note>
<important><simpara>La définition de la valeur par défaut d'un attribut utilisant
ce type HTML (paramètre <literal>default_value</literal>), doit se faire à l'aide
des valeurs <literal>yes</literal> ou <literal>no</literal>.</simpara></important>
</para>
</sect4>

View file

@ -57,8 +57,8 @@ class LSformElement_boolean extends LSformElement {
$return['html'] = $this -> fetchTemplate(
NULL,
array(
'yesTxt' => _('Yes'),
'noTxt' => _('No')
'yesTxt' => (isset($this -> params['html_options']['true_label']) && !empty($this -> params['html_options']['true_label']))?__($this -> params['html_options']['true_label']):_('Yes'),
'noTxt' => (isset($this -> params['html_options']['false_label']) && !empty($this -> params['html_options']['false_label']))?__($this -> params['html_options']['false_label']):_('No'),
)
);
return $return;

View file

@ -260,6 +260,14 @@ if (loadDir(LS_OBJECTS_DIR) && loadDir(LS_LOCAL_DIR.LS_OBJECTS_DIR)) {
}
}
// LSattr_html_boolean
if (isset($attr['html_options']['true_label'])) {
add($attr['html_options']['true_label']);
}
if (isset($attr['html_options']['false_label'])) {
add($attr['html_options']['false_label']);
}
// LSattr_html_jsonCompositeAttribute
if (is_array($attr['html_options']['components'])) {
foreach($attr['html_options']['components'] as $c => $cconfig) {