mirror of
https://gitlab.easter-eggs.com/ee/ldapsaisie.git
synced 2024-11-22 09:59:06 +01:00
LSform / dataEntryForm: Add forceGeneration parameter
This commit is contained in:
parent
f8c38dd3b6
commit
29bfca1792
2 changed files with 42 additions and 18 deletions
|
@ -8,7 +8,7 @@
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Via la configuration des attributs : La configuration des attributs
|
<para>Via la configuration des attributs : La configuration des attributs
|
||||||
détermine la présence ou non des attributs dans les formulaires. Elle permet
|
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.
|
également de définir si on souhaite bloquer leur présence en lecture seulement.
|
||||||
</para>
|
</para>
|
||||||
|
@ -22,7 +22,7 @@ apparaîtra en lecture-écriture ou en lecture uniquement voir pas du tout.
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Via la configuration au niveau de chaque type d'&LSobject; : il y est
|
<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
|
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>
|
via Ajax ou encore la disposition logique des attributs dans le formulaire.</para>
|
||||||
|
|
||||||
|
@ -68,8 +68,8 @@ via Ajax ou encore la disposition logique des attributs dans le formulaire.</par
|
||||||
<listitem>
|
<listitem>
|
||||||
<simpara>Tableau contenant la configuration des masques de saisie : il est
|
<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
|
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é à
|
création d'un objet, seul un certain nombre d'élements soit demandé à
|
||||||
l'utilisateur. <link linkend='config-LSobject-LSform-dataEntryForm'>Voir la
|
l'utilisateur. <link linkend='config-LSobject-LSform-dataEntryForm'>Voir la
|
||||||
section concernée.</link></simpara>
|
section concernée.</link></simpara>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
@ -78,13 +78,13 @@ via Ajax ou encore la disposition logique des attributs dans le formulaire.</par
|
||||||
|
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<sect3 id="config-LSobject-LSform-layout">
|
<sect3 id="config-LSobject-LSform-layout">
|
||||||
<title>Configuration de l'affichage</title>
|
<title>Configuration de l'affichage</title>
|
||||||
|
|
||||||
<para>La configuration des <emphasis>layout</emphasis> se situe dans la
|
<para>La configuration des <emphasis>layout</emphasis> se situe dans la
|
||||||
configuration des &LSobjects;, dans la variable <varname>layout</varname>
|
configuration des &LSobjects;, dans la variable <varname>layout</varname>
|
||||||
(<emphasis>$GLOBALS['LSobjects']['[nom du type d'LSobject]']['LSform']['layout']</emphasis>).
|
(<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
|
Cette variable est un tableau associatif dont la clé est l'identifiant de l'onglet
|
||||||
|
@ -134,7 +134,7 @@ et dont la valeur associée est la configuration de l'onglet.
|
||||||
</variablelist>
|
</variablelist>
|
||||||
</para>
|
</para>
|
||||||
<important><simpara>Lorsqu'un <emphasis>layout</emphasis> est défini, celui-ci
|
<important><simpara>Lorsqu'un <emphasis>layout</emphasis> est défini, celui-ci
|
||||||
est <emphasis>"suivi à la lettre"</emphasis> pour l'affichage du &LSform;.
|
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
|
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>
|
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>
|
layout</emphasis>, il ne sera pas du tout affiché.</simpara></important>
|
||||||
|
@ -143,7 +143,7 @@ layout</emphasis>, il ne sera pas du tout affiché.</simpara></important>
|
||||||
<sect3 id="config-LSobject-LSform-dataEntryForm">
|
<sect3 id="config-LSobject-LSform-dataEntryForm">
|
||||||
<title>Configuration des masques de saisie</title>
|
<title>Configuration des masques de saisie</title>
|
||||||
|
|
||||||
<para>La configuration des masques de saisie (<emphasis>dataEntryForm</emphasis>) se situe dans la
|
<para>La configuration des masques de saisie (<emphasis>dataEntryForm</emphasis>) se situe dans la
|
||||||
configuration des &LSobjects;, dans la variable <varname>dataEntryForm</varname>
|
configuration des &LSobjects;, dans la variable <varname>dataEntryForm</varname>
|
||||||
(<emphasis>$GLOBALS['LSobjects']['[nom du type d'LSobject]']['LSform']['dataEntryForm']</emphasis>).
|
(<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
|
Cette variable est un tableau associatif dont la clé est l'identifiant du masque de saisie
|
||||||
|
@ -153,23 +153,28 @@ et dont la valeur associée est sa configuration.
|
||||||
<![CDATA[$GLOBALS['LSobjects']['[nom du type d'LSobject]']['LSform']['dataEntryForm'] = array (
|
<![CDATA[$GLOBALS['LSobjects']['[nom du type d'LSobject]']['LSform']['dataEntryForm'] = array (
|
||||||
'masque1' => array(
|
'masque1' => array(
|
||||||
'label' => '[label du masque de saisie]',
|
'label' => '[label du masque de saisie]',
|
||||||
'disabledLayout' => [booleen],
|
'disabledLayout' => [booleen],
|
||||||
'displayedElements' => array (
|
'displayedElements' => array (
|
||||||
'arg1',
|
'attr1',
|
||||||
'arg2',
|
'attr2',
|
||||||
...
|
...
|
||||||
),
|
),
|
||||||
'defaultValues' => array (
|
'defaultValues' => array (
|
||||||
'arg3' => [value],
|
'attr3' => [value],
|
||||||
'arg4' => [value],
|
'attr4' => [value],
|
||||||
...
|
...
|
||||||
),
|
),
|
||||||
'requiredAllAttributes' => [booleen],
|
'requiredAllAttributes' => [booleen],
|
||||||
'requiredAttributes' => array (
|
'requiredAttributes' => array (
|
||||||
'arg1',
|
'attr1',
|
||||||
'arg2',
|
'attr2',
|
||||||
...
|
...
|
||||||
)
|
),
|
||||||
|
'forceGeneration' => array (
|
||||||
|
'attr1',
|
||||||
|
'attr2',
|
||||||
|
...
|
||||||
|
),
|
||||||
),
|
),
|
||||||
...
|
...
|
||||||
);]]>
|
);]]>
|
||||||
|
@ -208,7 +213,7 @@ et dont la valeur associée est sa configuration.
|
||||||
attributs. Les valeurs multiples sont possibles en utilisant des
|
attributs. Les valeurs multiples sont possibles en utilisant des
|
||||||
tableaux.</simpara>
|
tableaux.</simpara>
|
||||||
<important><simpara>Les valeurs seront vue comme des valeurs retournées par
|
<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
|
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
|
et par exemple, un attribut traité comme un booléen dans un formulaire pourra
|
||||||
prendre comme valeur par défaut <emphasis>yes</emphasis> ou
|
prendre comme valeur par défaut <emphasis>yes</emphasis> ou
|
||||||
<emphasis>no</emphasis>.</simpara></important>
|
<emphasis>no</emphasis>.</simpara></important>
|
||||||
|
@ -234,6 +239,14 @@ et dont la valeur associée est sa configuration.
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</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>
|
</variablelist>
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</sect3>
|
||||||
|
|
|
@ -492,6 +492,14 @@ class LSldapObject extends LSlog_staticLoggerClass {
|
||||||
else {
|
else {
|
||||||
$LSform=false;
|
$LSform=false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$forceGeneration = (
|
||||||
|
$LSform && $LSform -> dataEntryForm?
|
||||||
|
LSconfig::get(
|
||||||
|
'forceGeneration', array(), 'array', $LSform -> dataEntryFormConfig
|
||||||
|
):array()
|
||||||
|
);
|
||||||
|
|
||||||
foreach($this -> attrs as $attr_name => $attr) {
|
foreach($this -> attrs as $attr_name => $attr) {
|
||||||
$attr_values = $attr -> getValue();
|
$attr_values = $attr -> getValue();
|
||||||
if (!$attr -> isValidate()) {
|
if (!$attr -> isValidate()) {
|
||||||
|
@ -500,7 +508,10 @@ class LSldapObject extends LSlog_staticLoggerClass {
|
||||||
$retval = false;
|
$retval = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if( (empty($attr_values)) && ($attr -> isRequired()) ) {
|
else if(
|
||||||
|
in_array($attr_name, $forceGeneration)
|
||||||
|
|| (empty($attr_values) && $attr -> isRequired())
|
||||||
|
) {
|
||||||
if ( $attr -> canBeGenerated()) {
|
if ( $attr -> canBeGenerated()) {
|
||||||
if ($attr -> generateValue()) {
|
if ($attr -> generateValue()) {
|
||||||
if (!$this -> validateAttrData($LSform, $attr, $justCheck)) {
|
if (!$this -> validateAttrData($LSform, $attr, $justCheck)) {
|
||||||
|
|
Loading…
Reference in a new issue