Bug #15215
cellule json : avoir dans le contexte la valeur d'une variable de la query-string, nommée selon le slug
0%
Description
Pour finir de "bidouiller" la cellule json.
Il serait pratique qu'elle ait en contexte une variable "slug" si celle-ci est présente dans la query-string.
Cas usuel :- j'ai une page "/infos-famille/"
- j'ai une cellule JSON avec une URL :
https://passerelle/family/[famille]/
et son slug est "famille" - alors si je vais sur "/infos-famille/?famille=42", j'ai bien famille=42 ajouté dans le contexte, et tout fonctionne
Fichiers
Historique
Mis à jour par Thomas Noël il y a environ 7 ans
(ce ticket d'abord pour éventuelle petite discussion)
Mis à jour par Thomas Noël il y a environ 7 ans
- Fichier 0001-jsoncell-add-slug-variable-in-context-if-present-in-.patch 0001-jsoncell-add-slug-variable-in-context-if-present-in-.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
# no hyphen in varname, could be used in context and templates@
Le commentaire est mal indenté je trouve.
if self.varname and self.varname in getattr(context.get('request'), 'GET', {}): extra_context.update({self.varname: context['request'].GET[self.varname]}) context.update({self.varname: context['request'].GET[self.varname]})
Ça me semble un bug ailleurs s'il faut modifier ici les deux objets.
Mis à jour par Thomas Noël il y a environ 7 ans
Frédéric Péters a écrit :
Ouaich. Juste pour l'explication :Ça me semble un bug ailleurs s'il faut modifier ici les deux objets.
- context est le contexte reçu, qu'on complète ici parce que c'est lui qu'on va envoyer à get_templated_url juste en dessous.
- extra_context est le contexte qu'on renvoie... destiné à être utilisé comme ça : context.update(get_cell_extra_context(context))
Comme c'est toujours cet update qui fait (sauf dans les tests), effectivement si je modifie context, en réalité ça "suffit". Mais get_cell_extra_context n'est pas sensé modifier le contexte. D'où l'ajout à extra_context aussi.
Bref, je ne vois pas trop quoi modifier qui ne change pas beaucoup de choses par ailleurs dans le calcul des contextes dans les cellules combo.
Mis à jour par Thomas Noël il y a environ 7 ans
- Statut changé de En cours à Rejeté
En fait ce mélange slug/varname atteind ses limites ici, typiquement je veux pouvoir utiliser la même variable "user=" dans les query-string pour des cellules JSON qui utiliseront différents templates, selon leur slug.