kun

un outil de sondage - retour accueil

git clone git://bebou.netlib.re/kun
Log | Files | Refs | README |

commit 53277030bb56550bd150d3d1f6995530290851e7
parent 871ef784f9990b873bf45f513c379e3dc410ddbc
Auteurice: Arthur Pons <arthur.pons@unistra.fr>
Date:   Wed, 20 Nov 2024 16:51:42 +0100

Gestion des réponses qui ne sont pas des options

Et aussi des réponses qui sont vides
Avant on avait pas d'erreur et on enregistrait tout de même une réponse
Autrement dit si une personne répondait une option inexsitante elle
n'avait pas répondu mais ne pouvait plus répondre non plus

Diffstat:
Mcommands.sh | 22+++++++++++++++++-----
1 file changed, 17 insertions(+), 5 deletions(-)

diff --git a/commands.sh b/commands.sh @@ -29,18 +29,30 @@ addanswer() { id="${1:?missing parameter}";name="${2:?missing parameter}";text="$3" _nameexists "$id" "$name" && { _die "$name est déjà pris pour le sondage {$id}";return 1;} - repfile=$(mktemp /tmp/kun.$id/$name-XXXXX) \ - || { _die "erreur à la création du fichier de réponse $refile";return 1; } - idrep=$(basename $repfile | cut -d'-' -f2) - if [ -n "$text" ];then echo "$text" | grep -f /tmp/kun.$id/question > $repfile + if [ -n "$text" ];then + if grep -q "^$text$" /tmp/kun.$id/question;then + repfile=$(mktemp /tmp/kun.$id/$name-XXXXX) \ + || { _die "erreur à la création du fichier de réponse $repfile";return 1; } + idrep=$(basename $repfile | cut -d'-' -f2) + echo "$text" > $repfile + else _die "Réponse $text n'est pas une option";return 1; + fi else _inform "les flèches pour parcourir les réponses tabulation pour sélectionner une réponse entrée pour valider le tout\n" _inform "Question : \n\n$(grep "^#" /tmp/kun.$id/question | sed 's,^#,,')" echo - < /tmp/kun.$id/question grep -v '^#' | fzy -m > $repfile + a=$(< /tmp/kun.$id/question grep -v '^#' | fzy -m) + if [ -n "$a" ];then + repfile=$(mktemp /tmp/kun.$id/$name-XXXXX) \ + || { _die "erreur à la création du fichier de réponse $repfile";return 1; } + idrep=$(basename $repfile | cut -d'-' -f2) + echo "$a" > $repfile + else + _die "Réponse vide";return 1; + fi fi [ -f "$repfile" ] || { _die "Erreur dans l'écriture de la réponse";return 1;}