Development #11376
appel webservice depuis une expression
0%
Description
Mettons que chrono expose une API "available-places" et qu'on veuille afficher une page quand le nombre descend sous un certain nombre, genre en mettant une condition wscall.available_places.count < 5
.
Il faudrait avoir comme l'écran des sources de données un écran des appels webservice, qui reprendrait en gros les paramètres "requête" du wscall (url, request_signature_key, qs_data, method, post, post_data).
Dans une phase ultérieure on pourra aussi profiter de ces infos pour ajouter des actions de workflow précablées.
Files
Related issues
Associated revisions
History
Updated by Frédéric Péters almost 7 years ago
- Related to Development #11374: api pour connaitre pour un événement le nombre de places libres / occupées added
Updated by Frédéric Péters almost 7 years ago
- File 0001-general-add-new-catalog-of-webservice-calls-usable-i.patch 0001-general-add-new-catalog-of-webservice-calls-usable-i.patch added
- Status changed from Nouveau to En cours
- Patch proposed changed from No to Yes
(j'ai fait le choix d'afficher le lien uniquement dans l'écran settings/ pour le moment).
Updated by Frédéric Péters over 6 years ago
- File 0001-general-add-new-catalog-of-webservice-calls-usable-i.patch 0001-general-add-new-catalog-of-webservice-calls-usable-i.patch added
J'avais oublié d'inclure un nouveau fichier de tests dans le commit.
Updated by Benjamin Dauvergne over 6 years ago
Je séparerai le patch à WidgetDict qui me semble HS (bien que certainement utile à ce qui est fait là).
Est-ce qu'on se remettrai à utiliser register_dynamic_source()/get_substitution_variables_list() sur NamedWsCall ?
@classmethod def get_substitution_variables_list(self): named_wscalls = sorted(self.select(), lambda n: n.name) variables = [] for named_wscall in named_wscalls: variables.append((named_wscall.name, 'webservice.' + named_wscall.slug)) return variables
Pour le reste je suis ok sur tout.
Updated by Thomas Noël over 6 years ago
Benjamin Dauvergne a écrit :
Est-ce qu'on se remettrai à utiliser register_dynamic_source()/get_substitution_variables_list() sur NamedWsCall ?
Sur des endroits comme Alfortville où on a deux ou trois dizaines de webservices, je crois que ça va remplir l'écran pour rien. Je préfère indiquer qu'il existe un système "webservice.<slug>", charge à celui qui l'utilise de savoir aller chercher le slug (et, en gros, je ne suis pas fan d'exposer la possibilité d'appels ws via des variables à un trop large public, voilà, c'est dit).
Updated by Thomas Noël over 6 years ago
Et donc c'est ok pour moi ; avec l'éventuelle remarque de Benj sur la séparation du patch à WidgetDict (py et css).
Updated by Frédéric Péters over 6 years ago
- Status changed from En cours to Résolu (à déployer)
Je me suis dit qu'on était mercredi après-midi et qu'en grand enfant j'allais pousser sans mettre la modif au WidgetDict sur le côté.
commit 2dce89362e5f3c35af8cdc59c7729742a04c6a20 Author: Frédéric Péters <fpeters@entrouvert.com> Date: Fri Jun 17 12:26:47 2016 +0200 general: add new catalog of webservice calls, usable in expressions (#11376)
general: add new catalog of webservice calls, usable in expressions (#11376)