Bug #15152
Cellule JSON : permettre de spécifier l'utilisateur dans l'url
0%
Description
Je propose au niveau de l'UI une checkbox :
[ ] Si l'URL est dans le cercle de confiance™, ajouter l'utilisateur en paramètre de l'URL (NameID ou email)
qui ajoutera user=context.request.user
dans l'appel à utils.requests, et voilà.
Fichiers
Révisions associées
Historique
Mis à jour par Thomas Noël il y a environ 7 ans
(ce ticket est d'abord là pour discussion éventuelle, mais si personne dit rien alors je le code bientôt, vous avez 2 heures)
Mis à jour par Frédéric Péters il y a environ 7 ans
En réaction initiale je serais plutôt pour permettre [user] (genre) dans les substitutions pour les URL.
Mis à jour par Frédéric Péters il y a environ 7 ans
(Mais sinon, comme libellé pour la case à cocher, plutôt "Identifier l'utilisateur connecté dans les appels" ?).
Mis à jour par Thomas Noël il y a environ 7 ans
Frédéric Péters a écrit :
En réaction initiale je serais plutôt pour permettre [user] (genre) dans les substitutions pour les URL.
Tu veux dire quelque chose comme NameID=[user_nameid] ou email=[user_email] ? Ca m'irait aussi.
Mis à jour par Frédéric Péters il y a environ 7 ans
Tu veux dire quelque chose comme NameID=[user_nameid] ou email=[user_email] ? Ca m'irait aussi.
Yep.
Mis à jour par Thomas Noël il y a environ 7 ans
- Fichier 0001-handle-user_email-and-user_nameid-in-get_templated_u.patch 0001-handle-user_email-and-user_nameid-in-get_templated_u.patch ajouté
- Patch proposed changé de Non à Oui
étape 1 : ajouter la possibilité d'un user= dans get_templated_url pour disposer de user_nameid et user_email (à noter que je les quote() parce que bon)
Mis à jour par Thomas Noël il y a environ 7 ans
- Fichier 0001-handle-user-vars-in-jsoncell-url-15152.patch 0001-handle-user-vars-in-jsoncell-url-15152.patch ajouté
étape 2 : utilisation dans JsonCell (ce patch vient après #15142)
Mis à jour par Thomas Noël il y a environ 7 ans
- Fichier 0001-handle-context-vars-in-jsoncell-url-15152.patch 0001-handle-context-vars-in-jsoncell-url-15152.patch ajouté
Pour l'étape 1, c'est généralisé à tout le contexte, voir son propre ticket : #15154
Et ensuite l'utilisation par JsonCell est simplifiée, patch ci-joint.
Mis à jour par Frédéric Péters il y a environ 7 ans
On est bien ici uniquement sur le dernier patch, 0001-handle-context-vars-in-jsoncell-url-15152.patch ?
Pas clair pour moi le ctx vs context, si c'est juste pour avec l'url avant d'avoir le context modifié par get_cell_extra_context, simplement passer la ligne url = utils.get_templated_url(self.url, context) en première ligne ferait le job, non ?
Mis à jour par Thomas Noël il y a environ 7 ans
En fait lors des tests j'ai compris que "self.get_cell_extra_context(context)" ne modifie pas le contexte : il en renvoie un nouveau (par défaut {'cell': self}
uniquement).
Donc pour pas péter tout le code j'ai juste renommé ctx = self.get_cell_extra_context(context)
, ligne qui pourrait être posée juste au dessus de ctx['json'] = ....
, mais je voulais pas rendre le patch incompréhensible. J'ai raté mon coup :)
Mis à jour par Thomas Noël il y a environ 7 ans
- Fichier 0001-handle-context-vars-in-jsoncell-url-15152.patch 0001-handle-context-vars-in-jsoncell-url-15152.patch ajouté
Version qui gère la possibilité d'erreur dans lors de la substitution des variables par get_templated_url.
ctx est renommé 'extra_context' pour tenter une meilleur lisibilité.
Mis à jour par Thomas Noël il y a environ 7 ans
- Fichier 0001-handle-context-vars-in-jsoncell-url-15152.patch 0001-handle-context-vars-in-jsoncell-url-15152.patch ajouté
Oups, oubli de self._json_content = None
en cas de pépin de template.
Mis à jour par Frédéric Péters il y a environ 7 ans
Remarque passée sur jabber sur logger.error('unknown variable in template URL', self.url)
vs logger.error('unknown variable in template URL (%s)', self.url)
.
Ack avec la seconde forme.
Mis à jour par Thomas Noël il y a environ 7 ans
- Statut changé de En cours à Résolu (à déployer)
commit 9606dc85fc45b07ff830bc83308bc1189ea5d12a Author: Thomas NOEL <tnoel@entrouvert.com> Date: Sat Feb 25 11:23:19 2017 +0100 handle context vars in jsoncell url (#15152)
Mis à jour par Frédéric Péters il y a plus de 5 ans
- Statut changé de Résolu (à déployer) à Solution déployée
handle context vars in jsoncell url (#15152)