Formidable et envoyer réponse

Hello

J’ai des formulaires dans Formidable qui sont modérés à priori.
Est-il possible de n’envoyer le mail de réponse que quand on change le statut à « publié »?
Merci

Pour l’instant non. Ouvre un ticket. Peut être qu’un de ces 4 on aura le temps de se pencher dessus.

Ticket ouvert

Par ailleurs ça serait pas du tout le même email avec le même squelette (même si le contenu peut être similaire par défaut), puisque dans un cas ça permet justement de dire « ya eu une réponse, et si t’es admin faut peut-être aller la modérer », alors que là ça serait après un changement de statut, donc on peut vouloir dire autre chose


RastaPopoulos

En fait, chez moi le rédacteur rempli le formulaire qui doit être envoyé à un organisme compétent. La réponse est en statut proposé et quand l’administrateur la publie (la valide) elle devrait être envoyée à cet organisme. Car si la réponse contient des erreurs c’est l’admin qui est responsable.
Dans le temps, j’avais surchargé une fonction action_instituer_formulaire_reponse pour ça, mais je ne sais plus ou elle est passée.

tu peux utiliser le pipeline post_edition pour detecter le changement de statut, et, le cas écheant, envoyer un email.

Mais je suis d’accord que globalement on devrait pouvoir avoir des traitements dont l’execution depend du passage à un statut (il y a un ticket ouvert pour cela d’ailleurs)

Ce ne serait pas trop tard avec le pipeline post_edition? le mail part des que le rédacteur enregistre sa réponse.
De plus je sais utiliser ce pipeline dans un plugin que je crée mais je ne sais pas le détourner dans un plugin qui l’utilise déjà.

non mais du coup tu n’active pas le traitement « envoyer par email », et en post edition (qui n’est pas utilisé dans formidable, et même si c’était le cas rien ne t’empeche d’ajouter le tien), tu gère l’envoie par email.

post_edition est utilisé dans formidable_pipelines.php: formidable_post_edition
Si je veux l’utiliser comment faut-il nommer la fonction?

je sais utiliser ce pipeline dans un plugin que je crée mais je ne sais pas le détourner dans un plugin qui l’utilise déjà.

Contrairement aux fonctions _dist qui ne peuvent être surchargées qu’une seule fois, c’est le principe des pipelines que de pouvoir être utilisés par tous les plugins qui en ont besoin. Souvent les pipelines reçoivent un $flux et se le passent l’un après l’autre, parfois en y apportant des modifs, et au final SPIP le récupère et fait ce pour quoi c’est prévu.

Tu l’as déjà fait dis tu, ben là donc c’est pareil car ça change rien que formidable l’utilise aussi.
Il suffit de déclarer l’utilisation du pipeline dans le paquet.xml et de définir son implémentation pour ton plugin. Le nom de la fonction c’est le préfixe du plugin puis ‹ _ › puis le nom du pipeline.
Juste comme d’hab fait bien attention à renvoyer le flux reçu pour les suivants dans la file et pour spip au final…

Je ne suis pas en train de créer un plugin, je voudrai juste changer le comportement de Formidable pour qu’il n’envoie la réponse que quand elle est validée.
Je me demande si je pouvais surcharger, dans mes_fonctions.php ou mes_options.php la fonction formulaires_formidable_traiter_dist qui est dans /formulaires/formidable.php

Dans la mesure où c’est une fonction _dist, bien sur tu peux bien sur la surcharger… si elle n’est pas déjà surchargée. Quelque chose t’en fait douter ?
Je dirais dans mes_options plutôt puisque c’est dans un traiter et pas pour calculer un squelette.

Juste que c’est une fonction d’un formulaire CVT et que je ne l’ai jamais vu que dans la partie PHP du formulaire. et pas dans d’autres fichiers.