Issue 1 : #38
Description de l'issue
Lien
Texte
Je trouverai interessant d’avoir la possibilité pour l’administrateur d’un sondage de collecter les adresses mail des sondés (visibles uniquement sur le formulaire admin). Un peu comme le nom/pseudo, mais cachés au sondés, donc. Afin de faciliter la vie de l’administrateur en cloture de sondage : parfois, on envoie un sondage à 200 personnes. Et on ne souhaite recontacter que les 20 qui ont répondu “OK”.
C’était à la base une demande de Mozilla.
Justification du choix
Il s’agit d’abord d’une demande fréquente au sein des utilisateurs de Framadate. Par ailleurs, cette modification ferait de Framadate un concurrent de taille face à Doodle où cette fonctionnalité est payante.
Solution apportée
Itération 1 : Ajout de la collecte du mail dans le formulaire de sondage
Modification de la BDD
- Ajout d’un fichier de migration dans le répertoire
framadate/app/classes/Framadate/Migration
pour ajouter le nouvel attributmail
à la tablevote(poll_id, name, choices, uniqId)
dans la base de données - Ajout d’un appel à ce fichier de migration dans
/framadate/admin/migration.php
Modification de la classe VoteRepository
- MAJ de la méthode
insert($pollid, $name, $choices, $token)
* MAJ de la méthode
update($pollid, $vote_id, $name, $choices)
Modification de la classe PollService
- MAJ de la méthode
updateVote($pollid, $voteid, $name, $choices, $slothash)
* MAJ de la méthode
addVote($pollid, $name, $choices, $slot_hash) - MAJ de la méthode
splitVote($votes)
Modification des fichiers studs.php et adminstuds.php
- MAJ des appels à
updateVote
etaddVote
Modification des templates ''vote_table_date.tpl'' et ''vote_table_classic.tpl''
- Création du nouveau champ
Visualisation de l'itération 1
- Pour un sondage de type date (côté admin et côté user)
- Pour un sondage de type classic (côté admin et côté user)
Itération 2 : Implémentation d'une fonctionnalité admin permettant la collecte des mails
Modification des templates ''vote_table_date.tpl'' et ''vote_table_classic.tpl''
- Ajout d’un bouton enveloppe associé à chaque colonne
Modification du fichier adminstuds.tpl
- Ajout d’un traitement lorsqu’on clique sur le bouton enveloppe d’une colonne : récupération des adresses mails renseignées dans des tableaux de chaînes de caractères
- Transmission de ces tableaux à
$smarty
et appel du nouveau fichierdisplay_mails.tpl
Ajout d'un template display_mails.tpl
- Affichage des adresses mails transmises
Visualisation de l'itération 2
- Icône enveloppe pour un sondage de type date et pour un sondage de type classic
- Exemple d’affichage de collecte de mails pour un sondage