====== Résolution d'une issue 2 : #324 (et travail préparatoire pour l'issue #64) ====== ===== Présentation des issues ===== ==== Description de l'issue #324 ==== **//Allow facultative email collecting//**\\ //Now that !266 (merged) allows collecting user emails, we could allow admin to choose if filling email must be required.//\\ https://framagit.org/framasoft/framadate/issues/324 ==== Description de l'issue #61 ==== **//Contrôler l'identité des sondés//**\\ //Le sondé saisie une adresse de messagerie, framadate envoie un lien de confirmation à cette adresse avant que la réponse n’apparaisse au niveau des résultats ; les adresses des personnes ne seraient visibles que par l’auteur du sondage pour éliminer les réponses ’farfelue’.// https://framagit.org/framasoft/framadate/issues/61 ==== Justification du choix des issues ==== Résoudre ces deux issues permet de poursuivre le travail que j'ai réalisé en [[Résolution d'une première issue]]. ===== Solution conseillée (par Thomas Citharel) ===== Le champ ''collect_users_mail'' devient un entier à la place d'un booléen pour avoir la correspondance suivante :\\ * ''0'' : pas de proposition d'enregistrer l'email * ''1'' : enregistrement d'email proposé * ''2'' : enregistrement d'email requis * ''3'' : enregistrement d'email avec adresse valide requise pour voter, l'envoi du formulaire déclenchant l'envoi d'un email avec un lien pour valider le vote ===== Travail réalisé ===== ==== Itération 1 ==== * Ajout de constantes ''Collect_Mail'' (analogue à ''Editable'') : ''NO_COLLECT=0'', ''COLLECT=1'', ''COLLECT_REQUIRED=2'' et ''COLLECT_REQUIRED_VERIFIED=3'' * Ajout fichier ''app/classes/Framadate/Collect_mail.php'' * MAJ classe ''Form'' * Ajout méthode dans ''InputService.php'' (filtre des valeurs correctes pour ''collect_users_mail'') * MAJ fichier ''app/inc/constants.php'' * MAJ de la création d'un sondage * MAJ ''create_poll.tpl'' * MAJ ''create_poll.php'' * MAJ ''create_poll.js'' * MAJ ''PollRepository.php'' (méthode ''insertPoll'') * MAJ de l'administration d'un sondage * MAJ ''poll_info.tpl'' * MAJ du vote * MAJ ''vote_table_classic.tpl'' * MAJ ''vote_table_date.tpl'' * MAJ du fichier de traduction (''en.json'') ==== Remarque suite à l'itération 1 ==== L'option ''3'' (enregistrement d'email avec adresse valide requise pour voter, l'envoi du formulaire déclenchant l'envoi d'un email avec un lien pour valider le vote) n'est pas encore implémentée (l'option n'est pas sélectionnable à la création d'un sondage).\\ Son implémentation nécessite en effet l'utilisation du service d'envoi de mails (qui est désactivé au sein de notre installation), voilà pourquoi le travail reste préparatoire à la résolution de l'issue #61. ==== Visualisation de l'itération 1 ==== * Lors de la création d'un sondage : paramètres optionnels et avertissement {{ :txs:framadate-p18:justineissue2:parametres.png?530 | Nouveaux paramètres et avertissement dans la création d'un sondage}} * Lors de l'administration d'un sondage : informations et avertissement {{ :txs:framadate-p18:justineissue2:sondage.png?530 | Nouveaux paramètres et avertissement affichés dans les infos d'un sondage}} ===== Merge request ===== https://framagit.org/framasoft/framadate/merge_requests/313