Development #8298
API pour créer un formdata
0%
Description
La documentation (http://doc.entrouvert.org/wcs/dev/api-fill.html) annonce la possibilité de créer des formdata mais ce n'est en fait pas implémenté; c'est pourtant nécessaire si on veut de Welco pousser des demandes dans wcs…
Fichiers
Révisions associées
Historique
Mis à jour par Frédéric Péters il y a plus de 8 ans
- Fichier 0001-api-add-API-to-submit-new-formdata-8298.patch 0001-api-add-API-to-submit-new-formdata-8298.patch ajouté
- Statut changé de Nouveau à En cours
- Patch proposed changé de Non à Oui
Voilà, il y a des tests mais pas de mise à jour de la documentation, j'attends qu'on soit sûr de l'API avant de l'écrire.
C'est plutôt simple, un endpoint, /api/formdefs/<slug>/submit, dans lequel on POSTe du json. Le json est un dictionnaire avec deux entrées, "data" qui correspond au formdata.data (ça ne permet pas de représenter tous les types de données, limitation actuelle) et "meta" qui permet de passer différents paramètres, avec pour le moment deux booléens : "backoffice-submission" et "draft".
En retour, {'result': 'success', 'details': {'id': formdata.id}}
.
Mis à jour par Thomas Noël il y a plus de 8 ans
En retour, quelque chose devenu un peu habituel chez nous, à la jsonresponse : { "err": 0, "data": { ... } }
?
À part ça, l'API me va, ça reste évolutif : on pourra ajouter un « variables = { "varname": "value" } » pour injecter des données via des noms de variables.
Donc : Ack.
Mis à jour par Frédéric Péters il y a plus de 8 ans
- Fichier 0001-api-add-API-to-submit-new-formdata-8298.patch 0001-api-add-API-to-submit-new-formdata-8298.patch ajouté
Le patch avec { "err": 0, "data": { ... } } en retour et la mise à jour de la documentation.
Mis à jour par Thomas Noël il y a plus de 8 ans
dans la doc, remplacer :
un dictionnaire contenant obligatoirement les attributsdata
etmeta
par :
un dictionnaire contenant obligatoirement un attributdata
et optionnellement un attributmeta
@
Dans wcs/formdata.py le remplacement de page_no=None par page_no=0 est dû à quoi ?
Mis à jour par Frédéric Péters il y a plus de 8 ans
- Fichier 0001-api-add-API-to-submit-new-formdata-8298.patch 0001-api-add-API-to-submit-new-formdata-8298.patch ajouté
Ah oui en écrivant la doc j'ai trouvé que c'était bien de rendre "meta" optionnel mais j'ai oublié de revenir sur ce que j'avais écrit vingt lignes plus haut.
Le changement pour page_no, il permet de ne pas avoir à placer l'attribut de manière explicite (je n'ai plus la trace obtenue à un moment, en gros il y a un int(page_no) et du coup ça plante quand c'est None).
Mis à jour par Frédéric Péters il y a plus de 8 ans
- Statut changé de En cours à Résolu (à déployer)
J'avais oublié de le noter poussé.
commit 8afcddfaac19dc528d6979dcf049e091162c9547 Author: Frédéric Péters <fpeters@entrouvert.com> Date: Sat Sep 19 19:12:49 2015 +0200 api: add API to submit new formdata (#8298)
api: add API to submit new formdata (#8298)