Modifier les réponses d'un formulaire formidable

Bonjour

J'ai un formulaire pour lequel la modification des valeurs est autorisée ET pour lequel les personnes ont le droit de répondre plusieurs fois.

J'ai l'impression que ces 2 options de traitement ne sont pas compatibles.
Quand le formulaire est réaffiché après la validation, si on modifie une valeur, une nouvelle réponse est enregistrée, au lieu de modifier la réponse.

Ce qui n'est pas le cas avec une réponse unique et modifiable

Y a-t-il un moyen de modifier une des réponses en passant le paramètre id_formulaires_reponse à un modèle ?

Merci

--
Florence HENRY
LESIA - CNRS / Observatoire de Paris

Le 02/10/2018 à 16:29, Florence HENRY a écrit :

Bonjour

J'ai un formulaire pour lequel la modification des valeurs est autorisée ET pour lequel les personnes ont le droit de répondre plusieurs fois.

J'ai l'impression que ces 2 options de traitement ne sont pas compatibles.
Quand le formulaire est réaffiché après la validation, si on modifie une valeur, une nouvelle réponse est enregistrée, au lieu de modifier la réponse.

Ce qui n'est pas le cas avec une réponse unique et modifiable

Y a-t-il un moyen de modifier une des réponses en passant le paramètre id_formulaires_reponse à un modèle ?

Merci

je me suis toujours dit qu'un jour où l'autre cela coincerait sur ce point.
Evidemment on pourrait intégrer une solution où on passe explicitement l'id formulair réponse, mais cela ne résoudrait pas le problème car cela voudrait dire qu'on autoriserait l'écrasement des réponses d'une autre personne que nous même...

mais oui tu peux passer un identifiant de réponse
#FORMULAIRE_FORMIDABLE{<idduformulaire>,<contenu vide>,<identifiant de réponse</code>}

il suffit juste que tu encapsule cela dans un modèle.

Après il faudrait voir comment on fait pour dire "je veux que dans ce cas précis, on modifie la réponse" et "je veux que dans ce cas précis, on en ajoute une nouvelle". Et je n'ai aucune idée en terme d'interface.

Le 02/10/2018 à 16:54, Maïeul a écrit :

je me suis toujours dit qu'un jour où l'autre cela coincerait sur ce point.
Evidemment on pourrait intégrer une solution où on passe explicitement l'id formulair réponse, mais cela ne résoudrait pas le problème car cela voudrait dire qu'on autoriserait l'écrasement des réponses d'une autre personne que nous même...

mais oui tu peux passer un identifiant de réponse
#FORMULAIRE_FORMIDABLE{<idduformulaire>,<contenu vide>,<identifiant de réponse</code>}

Merci !
Je n'étais pas loin, j'avais tenté
#FORMULAIRE_FORMIDABLE{#ID, #ARRAY{auteurs_1, #SESSION{id_auteur}}, id_formulaires_reponse=#ENV{id_formulaires_reponse}}

ET ce n'est que maintenant que je trouve ce passage dans la doc :confused:

il suffit juste que tu encapsule cela dans un modèle.

Après il faudrait voir comment on fait pour dire "je veux que dans ce cas précis, on modifie la réponse" et "je veux que dans ce cas précis, on en ajoute une nouvelle". Et je n'ai aucune idée en terme d'interface.

Voilà ce que je fais dans mon modèle :

si id_formulaires_reponse est en parametre de l'URL, on appelle le formulaire avec la réponse, si id_formulaires_reponse=-1, j'appelle un formulaire vide, et s'il n'y a pas ce paramètre, je liste les réponses déjà faites par l'auteur.
Dans le cas de la modification, je vérifie que c'est bien le même auteur qui tente de modifier la réponse.

<BOUCLE_test(CONDITION){si #ENV{id_formulaires_reponse}|>{0}|oui}>

[(#REM) On s'assure que c'est bien l'auteur qui modifie ses réponses]
<BOUCLE_reptest(FORMULAIRES_REPONSES)
  {id_formulaire=#GET{id_form}}
  {id_auteur=#SESSION{id_auteur}}
  {id_formulaires_reponse=#ENV{id_formulaires_reponse}}>
  #FORMULAIRE_FORMIDABLE{#ID, #ARRAY, #ENV{id_formulaires_reponse}}
</BOUCLE_reptest>
Vous ne pouvez pas modifier cette réponse créée par un autre parent<br>
<a href="[(#SELF|parametre_url{id_formulaires_reponse,''})]">Retour à la page des inscriptions </a>
<//B_reptest>

</BOUCLE_test>

<BOUCLE_test2(CONDITION){si #ENV{id_formulaires_reponse}|=={-1}|oui}>

  #FORMULAIRE_FORMIDABLE{#ID, #ARRAY{auteurs_1, #SESSION{id_auteur}}}

</BOUCLE_test2>

Utilisez les liens ci-dessous pour modifier le planning des inscriptions de vos enfants.

<ul>
<BOUCLE_rep(FORMULAIRES_REPONSES)
  {id_formulaire=#GET{id_form}}
  {id_auteur=#SESSION{id_auteur}}>
  <li><a href="[(#SELF|parametre_url{id_formulaires_reponse,#ID_FORMULAIRES_REPONSE})]">Modifier le planning de #VOIR_REPONSE{input_1, brut}</a></li>
</BOUCLE_rep>
<li><a href="[(#SELF|parametre_url{id_formulaires_reponse,'-1'})]">Ajouter une inscription pour un autre enfant</a></li>
</ul>

<//B_test2>

<//B_test>

--
Florence HENRY
LESIA - CNRS / Observatoire de Paris