Hello,
Dans ieconfig, et ce surement depuis très longtemps, quand on affiche le formulaire d’export, la valeur par défaut du mode génération de l’export, à savoir, télécharger ou sauvegarder, n’affiche pas la valeur par défaut configurée mais la première valeur soit sauvegarder au lieu de télécharger.
La configuration du formulaire est faite en PHP (grrrr) mais semble correcte.
array(
‹ saisie › => ‹ selection ›,
‹ options › => array(
‹ nom › => ‹ ieconfig_export_choix ›,
‹ label › => ‹ <:ieconfig:label_ieconfig_export_choix:> ›,
‹ cacher_option_intro › => ‹ oui ›,
‹ defaut › => ‹ telecharger ›,
‹ datas › => array(
‹ sauvegarder › => ‹ <:ieconfig:item_sauvegarder:> ›,
‹ telecharger › => ‹ <:ieconfig:item_telecharger:> ›,
),
),
),
En fait, si on regarde la saisie Selection en cause dans ce problème on voit que le calcul de la valeur par défaut se fait en privilégiant un valeur forcée qui n’est pas présente dans notre cas et ensuite une valeur d’index ‹ valeur › avant l’option de la valeur par défaut.
Et le test est fait sur le fait que ces deux valeurs prioritaires soient null pour autoriser la chaine vide.
#SET{valeur, #ENV{valeur_forcee}|is_null|?{#ENV{valeur}|is_null|?{#ENV{defaut},#ENV{valeur}},#ENV{valeur_forcee}}}
Or dans le cas de ieconfig on se retrouve bien avec dans l’environnement un index ‹ valeur › qui est égal à la chaine vide ce que je ne comprends pas.
Cela vient de la fonction de saisies nommée saisie_generer_html() et plus précisément du code suivant en ligne 191 :
} elseif (isset($contexte[‹ nom ›]) and isset($env[$contexte[‹ nom ›]])) {
// Sinon la valeur est juste celle du nom si elle existe
$contexte[‹ valeur ›] = $env[$contexte[‹ nom ›]];
J’avoue ne pas bien comprendre pourquoi on passe dans ce cas pour ce formulaire précis.
Si quelqu’un à une idée. Est ce un bug de Saisies ou de IEConfig ?
Merci d’avance.
++
Eric