Bug #17359
Permettre de resoumettre une demande avec un demandeur différent du demandeur initial
0%
Description
Un des interets serait de pouvoir générer une nouvelle demande pour un traitement backoffice sans que le demandeur initial ne soit notifié.
Historique
Mis à jour par Frédéric Péters il y a presque 7 ans
avec un demandeur différent du demandeur initial
Comment se ferait la sélection du nouveau demandeur ?
Mis à jour par Josué Kouka il y a presque 7 ans
Frédéric Péters a écrit :
avec un demandeur différent du demandeur initial
Comment se ferait la sélection du nouveau demandeur ?
En ajoutant un attribut new_user
en extra
. Vu le code de l'api le new_user
devrait etre un dico avec à priori {'id': ..., 'email': ..., 'name': }.
Dans le cas ou new_user
= {} la demande est considérée comme étant anonyme.
Mis à jour par Josué Kouka il y a presque 7 ans
Josué Kouka a écrit :
Frédéric Péters a écrit :
avec un demandeur différent du demandeur initial
Comment se ferait la sélection du nouveau demandeur ?
En ajoutant un attribut
new_user
enextra
. Vu le code de l'api lenew_user
devrait etre un dico avec à priori {'id': ..., 'email': ..., 'name': }.
Dans le cas ounew_user
= {} la demande est considérée comme étant anonyme.
L'attribution d'un nouvel utilisateur lors de la "resoumission" d'une demande n'a pas vraiment d’intérêt.
L'idée serait de permettre une soumission anonymisée via l'api /submit quand bien meme un utilisateur est associé. On pourrait passer un paramètre anonymous
lors de l'appel.
Si ce paramètre est présent dans la query string, on ne lie pas la demande à l'utilisateur.
Vous pensez que c'est une solution adéquate ?
Mis à jour par Thomas Noël il y a presque 7 ans
Ma proposition.
Je pense que /submit devrait savoir gérer un dictionnaire "à plat", tel que les appels webservice de wcs savent faire.
Selon moi, on a de la place pour cela dans api.py :
...
def submit(self):
if 'data' in json_input:
# the published API expects data in 'data'.
elif 'fields' in json_input:
# but the API also supports data in 'fields', to match the json
# output produded by wf/wscall.py.
else:
data = {} <--- ici on peut jouer un autre type d'appel
...
dans ce dernier cas je verrais bien ça :
data = {k[10:]: v for k,v in json_input.items() if k.startswith('form_var_')}
et dans ce cas pour les meta :
meta = {k[5:]: v for k,v in json_input.items() if k.startswith('meta_')}