Development #5348
Import JSON de formdef
0%
Description
Pour le moment formdefs et workflows ont la possibilité de s'exporter en JSON, mais pas le code d'import correspondant.
Dans l'objectif de #4739, en me disant que je préférais quand même le JSON à l'XML, il faudrait pouvoir gérer l'import aussi.
Fichiers
Demandes liées
Historique
Mis à jour par Frédéric Péters il y a plus de 9 ans
- Fichier 0001-add-possibility-to-create-a-formdef-object-from-a-js.patch 0001-add-possibility-to-create-a-formdef-object-from-a-js.patch ajouté
- Statut changé de Nouveau à En cours
- Patch proposed changé de Non à Oui
Voilà, en réutilisant la série de tests de l'import/export XML.
Mis à jour par Thomas Noël il y a plus de 9 ans
Ack.
Dans le test, pour en ajouter une couche : les assert_xml et assert_json vérifient tout les deux l'égalité en comparant les deux export_xml : peut-être qu'on pourrait ajouter un test avec des export_json aussi ? (mais je suis sans doute un peu trop fatigué pour dire des choses rusées...)
Genre ça:
(...) def accept_compare_formdef(f1, f2, include_id=False): assert ET.tostring(indent(f1.export_to_xml(include_id=include_id)) ) == ET.tostring(indent(formdef2.export_to_xml(include_id=include_id))) assert f1.export_to_json(include_id=include_id) == f2.export_to_json(include_id=include_id) def assert_xml_import_export_works(formdef, include_id=False): formdef2 = FormDef.import_from_xml_tree( formdef.export_to_xml(include_id=include_id), include_id=include_id) accept_compare_formdef(formdef, formdef2, include_id) return formdef2 def assert_json_import_export_works(formdef, include_id=False): formdef2 = FormDef.import_from_json( StringIO.StringIO(formdef.export_to_json(include_id=include_id)), include_id=include_id) accept_compare_formdef(formdef, formdef2, include_id) return formdef2 (...)
Mis à jour par Frédéric Péters il y a plus de 9 ans
- Fichier 0001-add-possibility-to-create-a-formdef-object-from-a-js.patch 0001-add-possibility-to-create-a-formdef-object-from-a-js.patch ajouté
Oui; ça m'a permis de découvrir que la comparaison de l'XML n'était pas parfaite, se faisant seulement sur l'élément <fields>, pas la racine <formdef>.
Mis à jour par Frédéric Péters il y a plus de 9 ans
- Statut changé de En cours à Résolu (à déployer)
commit afad1c2c598c46ea53b8231351b5c403cd5f3574 Author: Frédéric Péters <fpeters@entrouvert.com> Date: Fri Aug 29 14:12:27 2014 +0200 add possibility to create a formdef object from a json value (#5348)
Mis à jour par Thomas Noël il y a plus de 9 ans
- Statut changé de Résolu (à déployer) à Solution déployée