Le module de sondages dans Odoo est extrêmement utile pour concevoir divers types de questionnaires, tels que des enquêtes, des évaluations et des sessions en direct, entre autres.
Cet outil est vraiment efficace, mais il est possible d'enrichir davantage les questionnaires en intégrant du HTML dans les questions. Que ce soit pour améliorer la présentation ou pour ajouter des liens, c'est très avantageux.
Pour ce faire, il suffit de modifier une vue afin de demander à Odoo de traiter la question différemment. Par défaut, le code HTML est échappé, ce qui signifie qu'il est affiché sans être interprété.
Exemple, voici une question avec un code HTML pour souligner le mot produits :
Le rendu est le suivant :
Ce qui n'est pas vraiment l'effet recherché.
Voici donc la procédure pour améliorer cela :
1. Passer en mode développeur
À partir de l'écran d'accueil :
- Allez dans l'application Paramètres
- Descendez tout en bas
- Cliquez sur Activer le mode développeur
- Revenez au menu principal
2. Ouvrir les vues
Depuis le menu principal d'Odoo, tapez au clavier "vues" puis, dans la popup qui s'affiche, choisissez : Paramètres / Technique / Interface utilisateur / Vues
Puis filtrer la liste des vues avec le mot question_container, pour avoir la vue qui affiche les questions dans le formulaire.
Entrez dans la vue Survey: question container qui s'affiche.
Puis cliquez sur l'onglet Vues héritées et cliquez sur Ajouter une ligne.
- Nom de vue : Survey: question container - [Nom de votre entreprise] (c'est juste pour retrouver plus rapidement vos personalisations)
- Type de vue : QWeb
- Architecture :
<xpath expr="//span[@t-field='question.title']" position="replace">
<span t-raw="question.title" class="text-break"/>
</xpath>
La magie se passe ici ! En effet, en remplaçant l'attribut t-field par t-raw nous demandons ici à Odoo de ne pas échapper le code HTML qui a été mis dans les questions.
Il convient de préciser que cette opération ne doit pas être effectuée de manière systématique, car elle pourrait engendrer des failles de sécurité. Cependant, dans ce contexte précis, elle vise à afficher du code HTML pour des questions saisies par les administrateurs d'Odoo, ce qui limite considérablement le risque.
Voici le résultat :
Du coup, cela permet d'envisager d'autres choses par exemple mettre un lien vers les CGV :
A vos sondages !