Projet

Général

Profil

Development #11376

appel webservice depuis une expression

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

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Version cible:
Début:
15 juin 2016
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

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.


Fichiers


Demandes liées

Lié à Chrono - Development #11374: api pour connaitre pour un événement le nombre de places libres / occupéesFermé15 juin 2016

Actions

Révisions associées

Révision 2dce8936 (diff)
Ajouté par Frédéric Péters il y a presque 8 ans

general: add new catalog of webservice calls, usable in expressions (#11376)

Historique

#1

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

  • Lié à Development #11374: api pour connaitre pour un événement le nombre de places libres / occupées ajouté
#2

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

(j'ai fait le choix d'afficher le lien uniquement dans l'écran settings/ pour le moment).

#3

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

J'avais oublié d'inclure un nouveau fichier de tests dans le commit.

#4

Mis à jour par Benjamin Dauvergne il y a presque 8 ans

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.

#5

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

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

#6

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

Et donc c'est ok pour moi ; avec l'éventuelle remarque de Benj sur la séparation du patch à WidgetDict (py et css).

#7

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

  • Statut changé de En cours à 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)
#8

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

  • Version cible mis à v1.47
#9

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

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

Formats disponibles : Atom PDF