Doc / LSform : Added dataEntryForm configuration
[ldapsaisie.git] / doc / conf / LSobject / LSform.docbook
1 <sect2 id="config-LSobject-LSform">
2   <title>LSform</title>
3   <para>Cette section décrit la manière de paramétrer les formulaires d'&LdapSaisie;
4   pour un type &LSobject; donné. Pour chaque type d'&LSobject;, il faut configurer
5   plusieurs formulaires correspondant aux vues gérées par &LdapSaisie; (création,
6   modification, ...). Les formulaires se configurent par plusieurs biais :
7
8 <itemizedlist>
9
10 <listitem>
11 <para>Via la configuration des attributs : La configuration des attributs 
12 détermine la présence ou non des attributs dans les formulaires. Elle permet
13 également de définir si on souhaite bloquer leur présence en lecture seulement.
14 </para>
15 </listitem>
16
17 <listitem>
18 <para>Via les droits de l'utilisateur connecté sur les attributs de l'objet
19 à éditer : en fonction des droits de l'utilisateur sur un attribut, celui-ci
20 apparaîtra en lecture-écriture ou en lecture uniquement voir pas du tout.
21 </para>
22 </listitem>
23
24 <listitem>
25 <para>Via la configuration au niveau de chaque type d'&LSobject; : il y est 
26 possible de définir le comportement globale du formulaire comme la validation
27 via Ajax ou encore la disposition logique des attributs dans le formulaire.</para>
28
29 <programlisting>
30 <citetitle>Structure</citetitle>
31 <![CDATA[$GLOBALS['LSobjects']['[nom du type d'LSobject]']['LSform'] = array (
32   'ajaxSubmit' => [booléen],
33   'layout' => array (
34     // Configuration de la disposition logique des attributs
35   ),
36   'dataEntryForm' => array (
37     // Configuration des masques de saisie
38   )
39
40 );]]>
41 </programlisting>
42
43 <variablelist>
44 <title>Paramètres de configuration</title>
45
46 <varlistentry>
47   <term>ajaxSubmit</term>
48   <listitem>
49     <simpara>Booléen définissant si le formulaire sera envoyé via une requête
50     Ajax plutôt qu'à travers un rafraîchissement de la page. Par défaut :
51     <emphasis>VRAI</emphasis>.</simpara>
52   </listitem>
53 </varlistentry>
54
55 <varlistentry>
56   <term>layout</term>
57   <listitem>
58     <simpara>Tableau contenant la configuration de l'affichage du formulaire :
59     il est possible de définir la disposition des attributs dans le formulaire
60     en les regroupant dans des onglets et en les faisant apparaître dans un
61     ordre logique.<link linkend='config-LSobject-LSform-layout'>Voir la section
62     concernée.</link></simpara>
63   </listitem>
64 </varlistentry>
65
66 <varlistentry>
67   <term>dataEntryForm</term>
68   <listitem>
69     <simpara>Tableau contenant la configuration des masques de saisie : il est
70     possible de définir des masques de saisie pour faire en sorte que lors de la
71     création d'un objet, seul un certain nombre d'élements soit demandé à 
72     l'utilisateur. <link linkend='config-LSobject-LSform-dataEntryForm'>Voir la 
73     section concernée.</link></simpara>
74   </listitem>
75 </varlistentry>
76
77 </variablelist>
78
79 </listitem>
80
81 </itemizedlist>  
82 </para>
83
84 <sect3 id="config-LSobject-LSform-layout">
85 <title>Configuration de l'affichage</title>
86
87 <para>La configuration des <emphasis>layout</emphasis> se situe dans la 
88 configuration des &LSobjects;, dans la variable <varname>layout</varname>
89 (<emphasis>$GLOBALS['LSobjects']['[nom du type d'LSobject]']['LSform']['layout']</emphasis>).
90 Cette variable est un tableau associatif dont la clé est l'identifiant de l'onglet
91 et dont la valeur associée est la configuration de l'onglet.
92 <programlisting>
93 <citetitle>Structure</citetitle>
94 <![CDATA[$GLOBALS['LSobjects']['[nom du type d'LSobject]']['LSform']['layout'] = array (
95   'onglet1' => array(
96     'label' => '[label de l'onglet]',
97     'img' => 1, // Valeur possible 1 ou 0
98     'args' => array (
99       'arg1',
100       'arg2',
101       ...
102     )
103   ),
104   ...
105 );]]>
106 </programlisting>
107
108 <variablelist>
109 <title>Paramètres de configuration</title>
110
111 <varlistentry>
112   <term>label</term>
113   <listitem>
114     <simpara>Le label de l'onglet.</simpara>
115   </listitem>
116 </varlistentry>
117
118 <varlistentry>
119   <term>img</term>
120   <listitem>
121     <simpara>Affiche ou non l'image d'un éventuel attribut de type HTML
122     <link linkend="config-LSattr_html_image">LSattr_html_image</link>.</simpara>
123   </listitem>
124 </varlistentry>
125
126 <varlistentry>
127   <term>args</term>
128   <listitem>
129     <simpara>Tableau associatif contenant une liste ordonnée des attributs qui
130     apparaîtront dans l'onglet.</simpara>
131   </listitem>
132 </varlistentry>
133
134 </variablelist>
135 </para>
136 <important><simpara>Lorsqu'un <emphasis>layout</emphasis> est défini, celui-ci
137 est <emphasis>"suivi à la lettre"</emphasis> pour l'affichage du &LSform;. 
138 Ainsi, si un attribut est défini dans la configuration de l'objet comme présent
139 dans le &LSform; courant, mais que celui-ci n'est pas présent dans le <emphasis>
140 layout</emphasis>, il ne sera pas du tout affiché.</simpara></important>
141 </sect3>
142
143 <sect3 id="config-LSobject-LSform-dataEntryForm">
144 <title>Configuration des masques de saisie</title>
145
146 <para>La configuration des masques de saisie (<emphasis>dataEntryForm</emphasis>) se situe dans la 
147 configuration des &LSobjects;, dans la variable <varname>dataEntryForm</varname>
148 (<emphasis>$GLOBALS['LSobjects']['[nom du type d'LSobject]']['LSform']['dataEntryForm']</emphasis>).
149 Cette variable est un tableau associatif dont la clé est l'identifiant du masque de saisie
150 et dont la valeur associée est sa configuration.
151 <programlisting>
152 <citetitle>Structure</citetitle>
153 <![CDATA[$GLOBALS['LSobjects']['[nom du type d'LSobject]']['LSform']['dataEntryForm'] = array (
154   'masque1' => array(
155     'label' => '[label du masque de saisie]',
156     'disabledLayout' => [booleen], 
157     'displayedElements' => array (
158       'arg1',
159       'arg2',
160       ...
161     ),
162     'defaultValues' => array (
163       'arg3' => [value],
164       'arg4' => [value],
165       ...
166     )
167   ),
168   ...
169 );]]>
170 </programlisting>
171
172 <variablelist>
173 <title>Paramètres de configuration</title>
174
175 <varlistentry>
176   <term>label</term>
177   <listitem>
178     <simpara>Le label du masque de saisie.</simpara>
179   </listitem>
180 </varlistentry>
181
182 <varlistentry>
183   <term>disabledLayout</term>
184   <listitem>
185     <simpara>Active ou non les  <link linkend="config-LSobject-LSform-layout">layouts</link>
186     pour ce masque de saisie.</simpara>
187   </listitem>
188 </varlistentry>
189
190 <varlistentry>
191   <term>displayedElements</term>
192   <listitem>
193     <simpara>Tableau contenant la liste des attributs qui devront être saisie
194     dans le masque de saisie.</simpara>
195   </listitem>
196 </varlistentry>
197
198 <varlistentry>
199   <term>defaultValues</term>
200   <listitem>
201     <simpara>Tableau associatif contenant la liste des valeurs par défaut des
202     attributs. Les valeurs multiples sont possibles en utilisant des
203     tableaux.</simpara>
204     <important><simpara>Les valeurs seront vue comme des valeurs retournées par
205     le formulaire et non comme des valeurs des attribus LDAP eux-même. Ainsi 
206     et par exemple, un attribut traité comme un booléen dans un formulaire pourra
207     prendre comme valeur par défaut <emphasis>yes</emphasis> ou
208     <emphasis>no</emphasis>.</simpara></important>
209   </listitem>
210 </varlistentry>
211
212 </variablelist>
213 </para>
214 </sect3>
215
216
217 </sect2>