c53828e3ac1de1f16036b3cc0e3a1a74514b2418
[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 );]]>
37 </programlisting>
38
39 <variablelist>
40 <title>Paramètres de configuration</title>
41
42 <varlistentry>
43   <term>ajaxSubmit</term>
44   <listitem>
45     <simpara>Booléen définissant si le formulaire sera envoyé via une requête
46     Ajax plutôt qu'à travers un rafraîchissement de la page. Par défaut :
47     <emphasis>VRAI</emphasis>.</simpara>
48   </listitem>
49 </varlistentry>
50
51 <varlistentry>
52   <term>layout</term>
53   <listitem>
54     <simpara>Tableau contenant la configuration de l'affichage du formulaire :
55     il est possible de définir la disposition des attributs dans le formulaire
56     en les regroupant dans des onglets et en les faisant apparaître dans un
57     ordre logique.<link linkend='config-LSobject-LSform-layout'>Voir la section
58     concernée.</link></simpara>
59   </listitem>
60 </varlistentry>
61
62 </variablelist>
63
64 </listitem>
65
66 </itemizedlist>  
67 </para>
68
69 <sect3 id="config-LSobject-LSform-layout">
70 <title>Configuration de l'affichage</title>
71
72 <para>La configuration des <emphasis>layout</emphasis> se situe dans la 
73 configuration des &LSobjects;, dans la variable <varname>layout</varname>
74 (<emphasis>$GLOBALS['LSobjects']['[nom du type d'LSobject]']['LSform']['layout']</emphasis>).
75 Cette variable est un tableau associatif dont la clé est l'identifiant de l'onglet
76 et dont la valeur associée est la configuration de l'onglet.
77 <programlisting>
78 <citetitle>Structure</citetitle>
79 <![CDATA[$GLOBALS['LSobjects']['[nom du type d'LSobject]']['LSform']['layout'] = array (
80   'onglet1' => array(
81     'label' => '[label de l'onglet]',
82     'img' => 1, // Valeur possible 1 ou 0
83     'args' => array (
84       'arg1',
85       'arg2',
86       ...
87     )
88   ),
89   ...
90 );]]>
91 </programlisting>
92
93 <variablelist>
94 <title>Paramètres de configuration</title>
95
96 <varlistentry>
97   <term>label</term>
98   <listitem>
99     <simpara>Le label de l'onglet.</simpara>
100   </listitem>
101 </varlistentry>
102
103 <varlistentry>
104   <term>img</term>
105   <listitem>
106     <simpara>Affiche ou non l'image d'un éventuel attribut de type HTML
107     <link linkend="config-LSattr_html_image">LSattr_html_image</link>.</simpara>
108   </listitem>
109 </varlistentry>
110
111 <varlistentry>
112   <term>args</term>
113   <listitem>
114     <simpara>Tableau associatif contenant une liste ordonnée des attributs qui
115     apparaîtront dans l'onglet.</simpara>
116   </listitem>
117 </varlistentry>
118
119 </variablelist>
120 </para>
121 <important><simpara>Lorsqu'un <emphasis>layout</emphasis> est défini, celui-ci
122 est <emphasis>"suivi à la lettre"</emphasis> pour l'affichage du &LSform;. 
123 Ainsi, si un attribut est défini dans la configuration de l'objet comme présent
124 dans le &LSform; courant, mais que celui-ci n'est pas présent dans le <emphasis>
125 layout</emphasis>, il ne sera pas du tout affiché.</simpara></important>
126 </sect3>
127
128 </sect2>