Projet

Général

Profil

Bug #65331

Une variable n'est pas remplacée par sa valeur si elle est affichée dans un champ pour modification

Ajouté par Marie Kuntz il y a presque 2 ans. Mis à jour il y a presque 2 ans.

Statut:
Rejeté
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
16 mai 2022
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:
Non

Description

Si on utilise les fiches pour faire par exemple des modèles de réponse, on y met des variables {{ form_var_machin }} qui fonctionnent si on envoie le message tel quel, mais si l'on souhaite modifier le texte et qu'on l'affiche dans un champ texte long pour modification, les variables ne sont plus remplacées et le mail envoyé contient {{ form_var_machin }} à la place de la valeur.

Y a-t-il un hack pour éviter ça ? Sinon, est-il possible de corriger ?


Demandes liées

Duplique w.c.s. - Development #49467: Interpréter les filtres djangos saisis dans un champ texte long d'une ficheFermé14 décembre 2020

Actions

Historique

#3

Mis à jour par Frédéric Péters il y a presque 2 ans

C'est normal on ne veut pas interpréter le "{{ rm -rf / }}" qui aurait été tapé, il n'y a pas de plan pour permettre ça.

#4

Mis à jour par Marie Kuntz il y a presque 2 ans

Ok pour ça, mais pourquoi les variables ne sont pas remplacées dans le champ, directement ?
Ainsi on aurait dans le champ texte long :

Bonjour M. Spielberg,
Nous avons bien reçu votre demande "Signalement de voirie" n°15-456.

(insérer ici le commentaire de l'agent)

Cordialement,
La direction

Et on pourra modifier tout ou partie.

#5

Mis à jour par Frédéric Péters il y a presque 2 ans

Pour récap,

  • on a une fiche, avec un champ, dans lequel il a été écrit "Bonjour {{form_name}}", (appelons-le text)
  • on a ailleurs, un formulaire avec un champ permettant de choisir une de ces fiches, (appelons le champ modele)
  • après sélection, on a donc form_var_modele avec le "digest" de la fiche, form_var_modele_raw avec l'id de la fiche, form_var_modele_text avec le champ text de la fiche,
  • on ajoute un champ, qu'on préremplit avec {{form_var_modele_text}}
  • dedans il va donc s'écrire "Bonjour {{form_name}}", qui est le contenu du champ "text" de la fiche.

La demande serait que ça ne soit pas ça qui soit affiché, que le "Bonjour {{form_name}}" soit pris comme un gabarit, dont le rendu serait à faire sur base du contexte courant, que s'affiche "Bonjour titre du formulaire".

Imaginons maintenant un enfant qui habite la rue {{ rm -rf / }}.

  • il est inscrit, il se trouve enregistré dans une fiche,
  • une démarche permet d'inscrire un enfant à une activité, je choisis mon enfant,
  • la page suivante c'est un champ prérempli avec son adresse,
  • apparait donc dans le formulaire un champ rue avec comme contenu {{ rm -rf / }}.

Le demande de ce ticket serait que ça ne soit pas affiché {{ rm -rf / }} mais que plutôt ça soit interprété et qu'on ait un message "votre disque a bien été effacé".

On ne veut pas ça.

Ce qui a pu être écrit dans un ticket, c'est qu'on pourrait avoir un filtre, type |render_as_template, et dans le préremplissage du texte long/modèle du premier exemple, on écrirait alors {{form_var_modele_text|render_as_template}}.

Et dans le cas de l'adrese, on écrirait {{form_var_enfant_adresse}}, comme aujourd'hui, et on ferait attention à ne pas y écrire {{form_var_enfant_adresse|render_as_template}}.

(je ne retrouve pas sur le moment le ticket où j'ai pu mentionner ça).

#7

Mis à jour par Marie Kuntz il y a presque 2 ans

  • Statut changé de Nouveau à Rejeté
#11

Mis à jour par Marie Kuntz il y a presque 2 ans

@Fred : #49467 ?

#13

Mis à jour par Marie Kuntz il y a presque 2 ans

  • Duplique Development #49467: Interpréter les filtres djangos saisis dans un champ texte long d'une fiche ajouté

Formats disponibles : Atom PDF