Projet

Général

Profil

Bug #15215

cellule json : avoir dans le contexte la valeur d'une variable de la query-string, nommée selon le slug

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

Statut:
Rejeté
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
03 mars 2017
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

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

#1

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

(ce ticket d'abord pour éventuelle petite discussion)

#2

Mis à jour par Frédéric Péters il y a environ 7 ans

Je ne suis pas choqué.

#3

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

#4

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.

#5

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

Frédéric Péters a écrit :

Ça me semble un bug ailleurs s'il faut modifier ici les deux objets.

Ouaich. Juste pour l'explication :
  • 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.

#6

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.

Formats disponibles : Atom PDF