Projet

Général

Profil

Development #8298

API pour créer un formdata

Ajouté par Frédéric Péters il y a plus de 8 ans. Mis à jour il y a plus de 8 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
Début:
19 septembre 2015
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

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

Révision 8afcddfa (diff)
Ajouté par Frédéric Péters il y a plus de 8 ans

api: add API to submit new formdata (#8298)

Historique

#1

Mis à jour par Frédéric Péters il y a plus de 8 ans

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}}.

#2

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.

#3

Mis à jour par Frédéric Péters il y a plus de 8 ans

Le patch avec { "err": 0, "data": { ... } } en retour et la mise à jour de la documentation.

#4

Mis à jour par Thomas Noël il y a plus de 8 ans

dans la doc, remplacer :

un dictionnaire contenant obligatoirement les attributs data et meta

par :

un dictionnaire contenant obligatoirement un attribut data et optionnellement un attribut meta@

Dans wcs/formdata.py le remplacement de page_no=None par page_no=0 est dû à quoi ?

#5

Mis à jour par Frédéric Péters il y a plus de 8 ans

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).

#6

Mis à jour par Thomas Noël il y a plus de 8 ans

optionnellment → optionnellement… et ack !

#7

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)
#8

Mis à jour par Thomas Noël il y a plus de 8 ans

  • Version cible mis à v1.14
#9

Mis à jour par Frédéric Péters il y a plus de 8 ans

  • Statut changé de Résolu (à déployer) à Fermé

Formats disponibles : Atom PDF