Projet

Général

Profil

Development #18428

permettre de cacher des champs du formulaire

Ajouté par Serghei Mihai il y a plus de 6 ans. Mis à jour il y a plus de 6 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
04 septembre 2017
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

Notamment pour cacher un champ "Texte" pre-rempli via une variable du formulaire


Fichiers


Demandes liées

Lié à w.c.s. - Development #18669: Formulaires - Manque d'optionsFermé13 septembre 2017

Actions
Lié à w.c.s. - Bug #18911: permettre de cacher des champs du formulaire (bis)Rejeté23 septembre 2017

Actions

Révisions associées

Révision 29c4be5d (diff)
Ajouté par Serghei Mihai il y a plus de 6 ans

scss: add class to hide forms single choice fields (#18428)

Historique

#1

Mis à jour par Serghei Mihai il y a plus de 6 ans

#2

Mis à jour par Frédéric Péters il y a plus de 6 ans

Je pense qu'il faut d'abord répondre à la question : si on ne veut pas afficher un champ, pourquoi le mettre dans le formulaire ? Ne pas accepter du bricolage dans les CSS avant d'avoir noter précisément le besoin fonctionnel.

#3

Mis à jour par Serghei Mihai il y a plus de 6 ans

C'est un usage tordu: utiliser un formulaire Publik pour répondre à un questionnaire de satisfaction quant à l'usage d'un autre formulaire.
Un lien avec une session var, contenant le nom du formulaire utilisé est transmis à wcs, et ce nom est placé dans un champ "texte" qu'on ne veut pas afficher à l'usager.

Il me semble que c'est une astuce donnée par nos CPF.

#4

Mis à jour par Thomas Noël il y a plus de 6 ans

Le session_var_truc doit être stocké comme donnée de traitement dans la première étape du workflow, et voilà. Aucun besoin d'astuce.

#5

Mis à jour par Frédéric Péters il y a plus de 6 ans

Le session_var_truc doit être stocké comme donnée de traitement dans la première étape du workflow, et voilà. Aucun besoin d'astuce.

Sauf cas de la personne bizarre qui remplit ses demandes puis va sur toutes les demandes d'évaluation et les remplit une par une… (il faudrait la possibilité d'"attacher" les session_var_ présentes au début du formulaire à celui-ci).

#6

Mis à jour par Thomas Noël il y a plus de 6 ans

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

Le session_var_truc doit être stocké comme donnée de traitement dans la première étape du workflow, et voilà. Aucun besoin d'astuce.

Sauf cas de la personne bizarre qui remplit ses demandes puis va sur toutes les demandes d'évaluation et les remplit une par une… (il faudrait la possibilité d'"attacher" les session_var_ présentes au début du formulaire à celui-ci).

Dans ce cas fallait pas les appeler session_var ;) On pourrait imaginer la possibilité de balancer des « form_var_xxx » à la place, ça serait certainement plus simple à comprendre et utiliser, de fait. (mais là on sort quand même très beaucoup de ce ticket)

#7

Mis à jour par Frédéric Péters il y a plus de 6 ans

Dans ce cas fallait pas les appeler session_var ;)

Oui, fallait interdire autre chose que leur usage initial, changer l'image d'un bandeau…

(on sort quand même très beaucoup de ce ticket)

Oui mais je trouve quand même bien de ne pas ajouter d'"astuces" sans connaitre le fond et se donner la possibilité d'y réfléchir.

Pour revenir au ticket, alors, est-ce quelque chose qui est vraiment spécifique à Villejuif, ou devrait-on avoir ça partout, ce qui en permettrait la documentation ?

#8

Mis à jour par Serghei Mihai il y a plus de 6 ans

  • Sujet changé de villejuiif: styles pour cacher des champs du formulaire à permettre de cacher des champs du formulaire

Je pense qu'on doit avoir ça de manière générique.
Je renomme le ticket.

#9

Mis à jour par Thomas Noël il y a plus de 6 ans

On est d'accord que quelqu'un de "mal" intentionné pourra sans problème et très facilement changer la valeur cachée... Pour moi ce n'est pas une bonne piste, ça sera mal utilisé un jour (pour faire un calcul d'un tarif planqué dans un coin, et boum).

#10

Mis à jour par Frédéric Péters il y a plus de 6 ans

On est d'accord que quelqu'un de "mal" intentionné pourra sans problème et très facilement changer la valeur cachée...

Oui, ça serait à uniquement utiliser sur des champs de type liste limités à une seule valeur. (hack et hack et demi)

#11

Mis à jour par Serghei Mihai il y a plus de 6 ans

Ok.
Patch joint pour proposer une classe "hidden" appliquable uniquement aux listes à choix unique.

#12

Mis à jour par Frédéric Péters il y a plus de 6 ans

Je dirais plutôt : Cache le champ (applicable uniquement aux champs de type « Liste ») ; avec la formulation "les champs" on a l'impression que ça s'appliquerait sur le formulaire même et servirait à cacher tous ces champs (je trouve).

#14

Mis à jour par Frédéric Péters il y a plus de 6 ans

« Liste ».

Guillemets.

#15

Mis à jour par Frédéric Péters il y a plus de 6 ans

Et le champ s'appelle "Liste", pas "Liste à choix unique".

#17

Mis à jour par Frédéric Péters il y a plus de 6 ans

  • Statut changé de En cours à Résolu (à déployer)

Voilà poussé.

commit 29c4be5d2a59d1f1e7b4a67d41717671bd281b32
Author: Serghei Mihai <smihai@entrouvert.com>
Date:   Mon Sep 11 10:58:32 2017 +0200

    scss: add class to hide forms single choice fields (#18428)
#18

Mis à jour par Frédéric Péters il y a plus de 6 ans

#19

Mis à jour par Jean-Philippe MORVAN il y a plus de 6 ans

C'est un usage tordu: utiliser un formulaire Publik pour répondre à un questionnaire de satisfaction quant à l'usage d'un autre formulaire.
Un lien avec une session var, contenant le nom du formulaire utilisé est transmis à wcs, et ce nom est placé dans un champ "texte" qu'on ne veut pas afficher à l'usager.

L'idée est de faire des statistiques de satisfaction non pas par formulaire mais en globalité avec possibilité de filtre par formulaire.
Je n'aime pas du tout cette façon de faire non plus mais c'est la seule solution qui m'est venue.

Il me semble que c'est une astuce donnée par nos CPF.

C'est possible mais j'ai trouvé la solution seul via la documentation :)

Oui, ça serait à uniquement utiliser sur des champs de type liste limités à une seule valeur. (hack et hack et demi)

Si je ramène à notre problème initial, ça voudrait dire créer un champ de type "Liste" avec l'option "Cache le champ" activée et cette liste devra contenir tous les slug de formulaire qu'on récupère comment pour alimenter cette liste ? Requête API ou webservice ?

#20

Mis à jour par Serghei Mihai il y a plus de 6 ans

  • Statut changé de Résolu (à déployer) à Fermé

Jean-Philippe,

Pour résumer: au lieu d'intégrer le patch que tu as proposé nous avons introduit dans les thèmes de Publik une classe qui s'appele "hidden" qui s'applique uniquement aux champs "Liste".
Donc le champ "Formulaire d'origine" dans votre formulaire doit être de type liste et non "texte". Cela permet d'eviter l'édition du champ caché depuis le debogueur du navigateur.
En lui attribuant la classe "hidden", il sera caché à l'usager mais pre-rempli avec la valeur transmise par la "session_var".

Les valeurs possibles doivent être saisies à la main ou via une source de données.
L'API de récuperation de la liste de tous les formulaires (https://demarches.villejuif.fr/api/formdefs/) ne peut pas actuellement alimenter un champ d'un formulaire.

Je réflechis à une solution et je te tiens au courant (plutôt dans un ticket du projet).

#21

Mis à jour par Frédéric Péters il y a plus de 6 ans

  • Lié à Bug #18911: permettre de cacher des champs du formulaire (bis) ajouté

Formats disponibles : Atom PDF