From cc121289ce3a05e6c428d05aa9eb9b72ceb0d16e Mon Sep 17 00:00:00 2001
From: AlexisPoyen <apoyen@grandlyon.com>
Date: Thu, 18 Jun 2020 11:07:12 +0200
Subject: [PATCH] Feat : display the number of votes captured

---
 web/components/vote/votes.js | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)

diff --git a/web/components/vote/votes.js b/web/components/vote/votes.js
index 259ab77..e8d7885 100644
--- a/web/components/vote/votes.js
+++ b/web/components/vote/votes.js
@@ -52,7 +52,7 @@ class Vote {
       </header>
       <div id="votes-table" class="card-content"></div>
       <nav class="level">
-        <div class="level-left"></div>
+        <div class="level-left"><p id="total-votes"></p>,&nbsp;<p id="votes-expressed"></p></div>
         <div class="level-right">
           <button id="votes-return" class="button level-item">
             Retour
@@ -190,16 +190,24 @@ class Vote {
       </tr>
     `;
 
+    let totalVotes = 0;
+    let votesExpressed = 0;
     votes.forEach((vote) => {
+      totalVotes += vote.VoiceNumber;
       if (vote.Blank) {
         document.getElementById("blank-vote-voice").value = vote.VoiceNumber;
       } else if (vote.NullVote) {
         document.getElementById("null-vote-voice").value = vote.VoiceNumber;
       } else {
+        votesExpressed += vote.VoiceNumber;
         document.getElementById(vote.CandidateListID + "-vote-voice").value =
           vote.VoiceNumber;
       }
     });
+    document.getElementById("total-votes").innerHTML =
+      "Suffrages total : " + totalVotes;
+    document.getElementById("votes-expressed").innerHTML =
+      "Suffrages exprimés : " + votesExpressed;
   }
 
   async saveVotes() {
@@ -211,7 +219,7 @@ class Vote {
     if (votes.length == 0) method = "POST";
     else method = "PUT";
 
-    candidateLists.forEach(async (candidateList) => {
+    for (candidateList of candidateLists) {
       await voteHandler.VoteModel.saveVote(
         method,
         voteHandler.DeskRoundID,
@@ -222,7 +230,7 @@ class Vote {
         false,
         false
       );
-    });
+    }
 
     await this.VoteModel.saveVote(
       method,
@@ -266,10 +274,10 @@ class Vote {
   async deleteVotes() {
     let voteHandler = this;
     let votes = await this.updatesVotes();
-    votes.forEach(async (vote) => {
+    for (vote of votes) {
       await voteHandler.VoteModel.deleteVote(vote.ID);
-      await voteHandler.VoteModel.refreshVotes();
-      await voteHandler.loadVotes();
-    });
+    }
+    await voteHandler.VoteModel.refreshVotes();
+    await voteHandler.loadVotes();
   }
 }
-- 
GitLab