Projet

Général

Profil

Bug #15152

Cellule JSON : permettre de spécifier l'utilisateur dans l'url

Ajouté par Thomas Noël il y a environ 7 ans. Mis à jour il y a plus de 5 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
24 février 2017
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

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

Révision 9606dc85 (diff)
Ajouté par Thomas Noël il y a environ 7 ans

handle context vars in jsoncell url (#15152)

Historique

#1

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)

#2

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.

#3

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

#4

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.

#5

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.

#6

Mis à jour par Thomas Noël il y a environ 7 ans

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

#7

Mis à jour par Thomas Noël il y a environ 7 ans

étape 2 : utilisation dans JsonCell (ce patch vient après #15142)

#8

Mis à jour par Thomas Noël il y a environ 7 ans

  • Statut changé de Nouveau à En cours
#9

Mis à jour par Thomas Noël il y a environ 7 ans

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.

#10

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 ?

#11

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

#12

Mis à jour par Thomas Noël il y a environ 7 ans

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

#13

Mis à jour par Thomas Noël il y a environ 7 ans

Oups, oubli de self._json_content = None en cas de pépin de template.

#14

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.

#15

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)

#16

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

Formats disponibles : Atom PDF