ldapsaisie/doc/conf/LSobject/LSform.docbook
2023-02-10 11:59:55 +01:00

256 lines
8 KiB
Plaintext

<sect2 id="config-LSobject-LSform">
<title>LSform</title>
<para>Cette section décrit la manière de paramétrer les formulaires d'&LdapSaisie;
pour un type &LSobject; donné. Pour chaque type d'&LSobject;, il faut configurer
plusieurs formulaires correspondant aux vues gérées par &LdapSaisie; (création,
modification, ...). Les formulaires se configurent par plusieurs biais :
<itemizedlist>
<listitem>
<para>Via la configuration des attributs : La configuration des attributs
détermine la présence ou non des attributs dans les formulaires. Elle permet
également de définir si on souhaite bloquer leur présence en lecture seulement.
</para>
</listitem>
<listitem>
<para>Via les droits de l'utilisateur connecté sur les attributs de l'objet
à éditer : en fonction des droits de l'utilisateur sur un attribut, celui-ci
apparaîtra en lecture-écriture ou en lecture uniquement voir pas du tout.
</para>
</listitem>
<listitem>
<para>Via la configuration au niveau de chaque type d'&LSobject; : il y est
possible de définir le comportement globale du formulaire comme la validation
via Ajax ou encore la disposition logique des attributs dans le formulaire.</para>
<programlisting>
<citetitle>Structure</citetitle>
<![CDATA[$GLOBALS['LSobjects']['[nom du type d'LSobject]']['LSform'] = array (
'ajaxSubmit' => [booléen],
'layout' => array (
// Configuration de la disposition logique des attributs
),
'dataEntryForm' => array (
// Configuration des masques de saisie
)
);]]>
</programlisting>
<variablelist>
<title>Paramètres de configuration</title>
<varlistentry>
<term>ajaxSubmit</term>
<listitem>
<simpara>Booléen définissant si le formulaire sera envoyé via une requête
Ajax plutôt qu'à travers un rafraîchissement de la page. Par défaut :
<emphasis>VRAI</emphasis>.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>layout</term>
<listitem>
<simpara>Tableau contenant la configuration de l'affichage du formulaire :
il est possible de définir la disposition des attributs dans le formulaire
en les regroupant dans des onglets et en les faisant apparaître dans un
ordre logique.<link linkend='config-LSobject-LSform-layout'>Voir la section
concernée.</link></simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>dataEntryForm</term>
<listitem>
<simpara>Tableau contenant la configuration des masques de saisie : il est
possible de définir des masques de saisie pour faire en sorte que lors de la
création d'un objet, seul un certain nombre d'élements soit demandé à
l'utilisateur. <link linkend='config-LSobject-LSform-dataEntryForm'>Voir la
section concernée.</link></simpara>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</itemizedlist>
</para>
<sect3 id="config-LSobject-LSform-layout">
<title>Configuration de l'affichage</title>
<para>La configuration des <emphasis>layout</emphasis> se situe dans la
configuration des &LSobjects;, dans la variable <varname>layout</varname>
(<emphasis>$GLOBALS['LSobjects']['[nom du type d'LSobject]']['LSform']['layout']</emphasis>).
Cette variable est un tableau associatif dont la clé est l'identifiant de l'onglet
et dont la valeur associée est la configuration de l'onglet.
<programlisting>
<citetitle>Structure</citetitle>
<![CDATA[$GLOBALS['LSobjects']['[nom du type d'LSobject]']['LSform']['layout'] = array (
'onglet1' => array(
'label' => '[label de l'onglet]',
'img' => 1, // Valeur possible 1 ou 0
'args' => array (
'arg1',
'arg2',
...
)
),
...
);]]>
</programlisting>
<variablelist>
<title>Paramètres de configuration</title>
<varlistentry>
<term>label</term>
<listitem>
<simpara>Le label de l'onglet.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>img</term>
<listitem>
<simpara>Affiche ou non l'image d'un éventuel attribut de type HTML
<link linkend="config-LSattr_html_image">LSattr_html_image</link>.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>args</term>
<listitem>
<simpara>Tableau associatif contenant une liste ordonnée des attributs qui
apparaîtront dans l'onglet.</simpara>
</listitem>
</varlistentry>
</variablelist>
</para>
<important><simpara>Lorsqu'un <emphasis>layout</emphasis> est défini, celui-ci
est <emphasis>"suivi à la lettre"</emphasis> pour l'affichage du &LSform;.
Ainsi, si un attribut est défini dans la configuration de l'objet comme présent
dans le &LSform; courant, mais que celui-ci n'est pas présent dans le <emphasis>
layout</emphasis>, il ne sera pas du tout affiché.</simpara></important>
</sect3>
<sect3 id="config-LSobject-LSform-dataEntryForm">
<title>Configuration des masques de saisie</title>
<para>La configuration des masques de saisie (<emphasis>dataEntryForm</emphasis>) se situe dans la
configuration des &LSobjects;, dans la variable <varname>dataEntryForm</varname>
(<emphasis>$GLOBALS['LSobjects']['[nom du type d'LSobject]']['LSform']['dataEntryForm']</emphasis>).
Cette variable est un tableau associatif dont la clé est l'identifiant du masque de saisie
et dont la valeur associée est sa configuration.
<programlisting>
<citetitle>Structure</citetitle>
<![CDATA[$GLOBALS['LSobjects']['[nom du type d'LSobject]']['LSform']['dataEntryForm'] = array (
'masque1' => array(
'label' => '[label du masque de saisie]',
'disabledLayout' => [booleen],
'displayedElements' => array (
'attr1',
'attr2',
...
),
'defaultValues' => array (
'attr3' => [value],
'attr4' => [value],
...
),
'requiredAllAttributes' => [booleen],
'requiredAttributes' => array (
'attr1',
'attr2',
...
),
'forceGeneration' => array (
'attr1',
'attr2',
...
),
),
...
);]]>
</programlisting>
<variablelist>
<title>Paramètres de configuration</title>
<varlistentry>
<term>label</term>
<listitem>
<simpara>Le label du masque de saisie.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>disabledLayout</term>
<listitem>
<simpara>Active ou non les <link linkend="config-LSobject-LSform-layout">layouts</link>
pour ce masque de saisie.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>displayedElements</term>
<listitem>
<simpara>Tableau contenant la liste des attributs qui devront être saisie
dans le masque de saisie.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>defaultValues</term>
<listitem>
<simpara>Tableau associatif contenant la liste des valeurs par défaut des
attributs. Les valeurs multiples sont possibles en utilisant des
tableaux.</simpara>
<important><simpara>Les valeurs seront vue comme des valeurs retournées par
le formulaire et non comme des valeurs des attribus LDAP eux-même. Ainsi
et par exemple, un attribut traité comme un booléen dans un formulaire pourra
prendre comme valeur par défaut <emphasis>yes</emphasis> ou
<emphasis>no</emphasis>.</simpara></important>
</listitem>
</varlistentry>
<varlistentry>
<term>requiredAttributes</term>
<listitem>
<simpara>Tableau contenant la liste des attributs obligatoires du masque de saisie.
Cette liste d'attributs obligatoires viendra en complément de la configuration
des attributs. Il est ainsi possible de rendre des attributs obligatoires durant la
saisie d'un masque tout en les laissant facultatif le reste du temps.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>requiredAllAttributes</term>
<listitem>
<simpara>Si ce parametre vaut <emphasis>True</emphasis>, tout les attributs du masque
de saisie seront tous obligatoires de la même manière qu'avec le paramètre
<parameter>requiredAttributes</parameter>.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>forceGeneration</term>
<listitem>
<simpara>Tableau contenant la liste des attributs dont la génération sera forcée lors de la
validation du formation.</simpara>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect3>
</sect2>