Projet

Général

Profil

Development #15154

ajouter la possibilité d'un contexte à get_templated_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:
26 février 2017
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

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

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

allow context vars, user_email and user_nameid in get_templated_url (#15154)

Historique

#1

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

#2

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 ?

#3

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 ?

#4

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

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] ?)

#5

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.

#6

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)

#7

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