Bonjour,
Dans :
- le fichier jquery.utils.js
- la fonction getValues
on retrouve 2 blocs :
if ($.trim(elValue).substr(0, 1) == '{') {
var elValue = JSON.parse($(this).value());
}
Le problème
Lorsque l’on saisie une chaine de texte correspondant à un objet JSON dans un champs d’une commande, celui-ci est transformé en objet avant d’être sérialisé pour la sauvegarde de l’équipement.
Par la suite, celui-ci n’est donc pas sauvé dans la BDD correctement mais retransformé :
- {"bidule":true} devient {"bidule":"1"}
- {"bidule":null} devient {"bidule":""}
Question
Quelle est l’utilité de cette conversion en Objet des champs des commandes plutot que de les conserver sous forme de texte.
Portée
Tous les formulaires de saisie des commandes … et donc tous les plugins!
Reste à investiguer…
Même en bypassant cette conversion, et donc en faisant passer une requete ajax comportant un json d’équipement correct, la valeur stockée en BDD est toujours incorrecte.
il doit donc aussi y avoir une interpretation en json des chaines de texte dans eqLogic.ajax.php…