LSldapObject: add force_generation_if_empty parameter

This commit is contained in:
Benjamin Renard 2024-03-04 11:36:05 +01:00
parent 1a88707f87
commit bd98a8b8ef
Signed by: bn8
GPG key ID: 3E2E1CE1907115BC
2 changed files with 14 additions and 1 deletions

View file

@ -34,6 +34,7 @@ tableau, les clé les noms des attributs et les valeurs liés sont la configurat
'generate_value_format' => '[LSformat]', 'generate_value_format' => '[LSformat]',
'default_value' => 'valeur1', 'default_value' => 'valeur1',
'set_default_value_on_creation_if_empty' => [booleen], 'set_default_value_on_creation_if_empty' => [booleen],
'force_generation_if_empty' => [booleen],
'check_data' => array ( 'check_data' => array (
// Régle de vérification syntaxique des données saisies // Régle de vérification syntaxique des données saisies
), ),
@ -164,6 +165,17 @@ tableau, les clé les noms des attributs et les valeurs liés sont la configurat
défaut à la création de l'objet si aucune autre valeur n'as été fournie dans le contexte de défaut à la création de l'objet si aucune autre valeur n'as été fournie dans le contexte de
création (par défaut : *1*). création (par défaut : *1*).
- `force_generation_if_empty`
Booléen permettant de définir si la valeur de l'attribut doit être générée si elle est vide, que
ce soit à la création ou la modification de l'objet (par défaut : *0*).
!!! warning
Si la génération échoue, cela bloquera l'action. Par ailleurs, cette génération est
prioritaire sur l'utilisation de la valeur par défaut de l'attribut induit par le paramètre
`set_default_value_on_creation_if_empty`.
- `check_data` - `check_data`
Tableau associatif contenant les règles de vérification syntaxique des données de l'attribut. Tableau associatif contenant les règles de vérification syntaxique des données de l'attribut.

View file

@ -516,9 +516,10 @@ class LSldapObject extends LSlog_staticLoggerClass {
unset($forceGeneration[$key]); unset($forceGeneration[$key]);
} }
} }
if( if (
in_array($attr_name, $forceGeneration) in_array($attr_name, $forceGeneration)
|| (empty($attr_values) && $attr -> isRequired()) || (empty($attr_values) && $attr -> isRequired())
|| (empty($attr_values) && $attr -> getConfig('force_generation_if_empty', false, 'bool'))
) { ) {
if ( $attr -> canBeGenerated()) { if ( $attr -> canBeGenerated()) {
if ($attr -> generateValue()) { if ($attr -> generateValue()) {