Résolution d'une issue 3 : #208

Lien

Texte

Permettre la finalisation d'un sondage par l'administrateur
Une fois la décision prise, mettre un bouton : Sondage finalisé

  • Permettre à l'admin de sélectionner le choix retenu
  • Permettre à l'admin de mettre un texte justifiant ce choix
  • Eventuellement permettre un lien vers un CALDAV ou un ICS permettant de partager le RDV

Justification du choix

Cette fonctionnalité me paraît d'abord tout à fait pertinente pour Framadate. Ensuite, il s'agit d'un travail de développement à mon sens intéressant (car touche à de nombreux fichiers à différents niveaux du projet) et suffisamment complexe.

Les deux premiers points sont à traiter, le troisième est encore en réflexion.
Pour résoudre cette issue (les deux premiers points), il est indispensable de la scinder en plusieurs sous-problèmes.
La décomposition sera donc la suivante :

  • Implémentation d'une option admin “Close the poll
  • Implémentation d'une option admin “Choose an option” (quand le sondage est terminé)
  • Implémentation d'une option admin “Explain the choice” (quand le sondage est terminé et qu'un choix a été retenu)

Ajout d'une fonctionnalité admin “Close the poll

Description

Une fois un sondage fermé, plus aucune modification ne peut lui être apportée, c'est à dire :

  • le titre, le nom de l'auteur, la description, la date d'expiration et les paramètres du sondage (mot de passe, visibilité des résultats,…) ne peuvent plus être modifiés côté admin
  • aucun choix supplémentaire ne peut être ajouté par l'admin
  • aucun choix ne peut être supprimé par l'admin
  • aucun vote ne peut être ajouté / modifié / supprimé ni côté admin ni côté public

Travail réalisé

  • Modification de la BDD : ajout d'un attribut closed à la table poll (attribut booléen (TINYINT), par défault à FALSE (0))
    • Ajout d'un fichier de migration : AddColumn_closed_In_poll.php
    • Appel à ce nouveau fichier dans le fichier migration.php
  • MAJ de la méthode update($poll) de la classe PollRepository (pour prendre en compte le nouvel attribut)
  • Ajout de l'affichage du nouveau paramètre closed dans poll_info.tpl (côté admin et public)
  • Ajout d'un bouton Close the poll dans poll_info.tpl (côté admin)
  • Ajout d'un script de confirmation de fermeture de sondage : close_poll.tpl (si confirmation, passage de la valeur de closed à TRUE (1))
  • MAJ poll_info.tpl, vote_table_classic.tpl et vote_table_date.tpl : prise en compte de la valeur de closed dans l'affichage ou non des fonctionnalités (cf description)
  • MAJ du fichier de traduction (en.json)

Ajout de deux fonctionnalités admin ”Select the choice made” et “Explain the choice

Description

Une fois un sondage fermé, il est possible de sélectionner le choix retenu (ce choix est unique) par l'administrateur du sondage : une icône apparaît au dessus de chacune des colonnes pour la sélection. La valeur de ce choix est accessible dans les informations sur le sondage, côté admin et côté public.

Travail réalisé

Implémentation de ”Select the choice made

  • Modification de la BDD : ajout d'un attribut admin_choice à la table poll (attribut chaîne de caractères (VARCHAR), par défault à ”” (la chaîne vide))
    • Ajout d'un fichier de migration : AddColumn_admin_choice_In_poll.php
    • Appel à ce nouveau fichier dans le fichier migration.php
  • MAJ de la méthode update($poll) de la classe PollRepository (pour prendre en compte le nouvel attribut)
  • Ajout de l'affichage côté admin et côté public de admin_choice dans poll_info.tpl (si le sondage est fermé)
  • Ajout de l'affichage côté admin de boutons check au dessus de chaque colonne pour sélectionner un choix dans vote_table_classic.tpl et vote_table_date.tpl (si le sondage est fermé)
  • Ajout du traitement du clic sur le bouton check pour modifier la valeur de admin_choice dans adminstuds.php
  • MAJ du fichier de traduction (en.json)

Implémentation de “Explain the choice

  • Modification de la BDD : ajout d'un attribut admin_choice_exp à la table poll (attribut chaîne de caractères (VARCHAR), par défault à ”” (la chaîne vide))
    • Ajout d'un fichier de migration : AddColumn_admin_choice_exp_In_poll.php
    • Appel à ce nouveau fichier dans le fichier migration.php
  • MAJ de la méthode update($poll) de la classe PollRepository (pour prendre en compte le nouvel attribut)
  • Ajout de l'affichage côté admin et côté public de admin_choice_exp dans poll_info.tpl (si le sondage est fermé)
  • Ajout d'un bouton pencil pour modifier admin_choice_exp (si le sondage est fermé)
  • Ajout du traitement du clic sur le bouton pencil pour modifier la valeur de admin_choice_exp dynamiquement dans adminstuds.js
  • Ajout traitement de la modification de admin_choice_exp dans adminstuds.php
  • MAJ du fichier de traduction (en.json)
  • Administration d'un sondage ouvert : informations et bouton

 Nouveau paramètre et bouton dans les infos d'un sondage

  • Confirmation de la fermeture du sondage

 Confirmation de la fermeture du sondage

  • Administration d'un sondage fermé : informations et sélection d'un choix

 Boutons pour sélectionner un choix au dessus de chaque colonne

  • Administration d'un sondage fermé : justification du choix

 Champ de texte pour expliquer le choix retenu

  • txs/framadate-p18/resolution_d_une_troisieme_issue.txt
  • Dernière modification: 2018/06/16 12:56
  • par marlowju