Development #15154
ajouter la possibilité d'un contexte à get_templated_url
0%
Description
Et en profiter pour donner accès directement à user_email et user_nameid depuis context.request.user
Ça sera utile dans un premier temps pour #15152 (utilisation par JsonCell)
Fichiers
Révisions associées
Historique
Mis à jour par Thomas Noël il y a environ 7 ans
- Fichier 0001-allow-context-vars-user_email-and-user_nameid-in-get.patch 0001-allow-context-vars-user_email-and-user_nameid-in-get.patch ajouté
- Statut changé de Nouveau à En cours
- Patch proposed changé de Non à Oui
Mis à jour par Frédéric Péters il y a environ 7 ans
# if user vars do not exist, prefer send empty values # instead of leaving [user_...] in URL :
À ce sujet-là je réfléchissais aussi et j'en arrivais à l'idée que les get_templated_url lèvent une exception si un bout n'arrive pas à être substitué, charge à l'appelant derrière à le gérer. Tu en penses quoi ?
Mis à jour par Thomas Noël il y a environ 7 ans
Frédéric Péters a écrit :
À ce sujet-là je réfléchissais aussi et j'en arrivais à l'idée que les get_templated_url lèvent une exception si un bout n'arrive pas à être substitué, charge à l'appelant derrière à le gérer. Tu en penses quoi ?
Je suis pour. Sachant que sans «if-any» l'appelant n'a pas beaucoup de possibilités d'éventuel contournement, mais vue l'utilisation actuellement prévue ça ne me pose pas de soucis. On lève une KeyError ?
Mis à jour par Thomas Noël il y a environ 7 ans
- Fichier 0001-allow-context-vars-user_email-and-user_nameid-in-get.patch 0001-allow-context-vars-user_email-and-user_nameid-in-get.patch ajouté
Voici une version avec un UnknownTemplateVariableError.
J'ai aussi changé l'ordre de création de template_vars, pour donner la priorité d'abord aux TEMPLATES_VARS, puis au request.user, et en dernier à context.flatten(). J'étais parti pour même interdire à context.flattent() de forger éventuellement des faux user_email et user_nameid, je sais pas si c'est pertinant (for key in 'user_email', 'user_nameid': if key in template_vars: del template_vars[key]
?)
Mis à jour par Frédéric Péters il y a environ 7 ans
Ack pour moi; et pas besoin d'éliminer de template_vars.
Mis à jour par Thomas Noël il y a environ 7 ans
- Statut changé de En cours à Résolu (à déployer)
commit 571cc6d191faf2db7cffaadb9c01797d06cda96e Author: Thomas NOEL <tnoel@entrouvert.com> Date: Sat Feb 25 10:50:05 2017 +0100 allow context vars, user_email and user_nameid in get_templated_url (#15154)
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
allow context vars, user_email and user_nameid in get_templated_url (#15154)