diff --git a/doc/src/conf/LSobject/LSattribute/index.md b/doc/src/conf/LSobject/LSattribute/index.md index 6a06306c..ab071dc5 100644 --- a/doc/src/conf/LSobject/LSattribute/index.md +++ b/doc/src/conf/LSobject/LSattribute/index.md @@ -34,6 +34,7 @@ tableau, les clé les noms des attributs et les valeurs liés sont la configurat 'generate_value_format' => '[LSformat]', 'default_value' => 'valeur1', 'set_default_value_on_creation_if_empty' => [booleen], + 'force_generation_if_empty' => [booleen], 'check_data' => array ( // 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 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` Tableau associatif contenant les règles de vérification syntaxique des données de l'attribut. diff --git a/src/includes/class/class.LSldapObject.php b/src/includes/class/class.LSldapObject.php index e2bf7f46..2a1acfbd 100644 --- a/src/includes/class/class.LSldapObject.php +++ b/src/includes/class/class.LSldapObject.php @@ -516,9 +516,10 @@ class LSldapObject extends LSlog_staticLoggerClass { unset($forceGeneration[$key]); } } - if( + if ( in_array($attr_name, $forceGeneration) || (empty($attr_values) && $attr -> isRequired()) + || (empty($attr_values) && $attr -> getConfig('force_generation_if_empty', false, 'bool')) ) { if ( $attr -> canBeGenerated()) { if ($attr -> generateValue()) {