From 078cd553b9ac10abfd45f44989c703bed691d0e3 Mon Sep 17 00:00:00 2001
From: Alexis POYEN <punkylibre@localhost.localdomain>
Date: Wed, 17 Jun 2020 11:43:59 +0200
Subject: [PATCH] Feat : delete votes

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

diff --git a/web/components/vote/votes.js b/web/components/vote/votes.js
index 8926861..259ab77 100644
--- a/web/components/vote/votes.js
+++ b/web/components/vote/votes.js
@@ -54,12 +54,15 @@ class Vote {
       <nav class="level">
         <div class="level-left"></div>
         <div class="level-right">
-          <button id="votes-return" class="button is-danger level-item">
+          <button id="votes-return" class="button level-item">
             Retour
           </button>
           <button id="votes-cancel" class="button level-item">
             Annuler
           </button>
+          <button id="votes-delete" class="button is-danger level-item">
+            Supprimer
+          </button>
           <button id="votes-save" class="button is-success level-item">
             Sauvegarder
           </button>
@@ -106,6 +109,11 @@ class Vote {
       .addEventListener("click", function () {
         voteHandler.saveVotes();
       });
+    document
+      .getElementById(`votes-delete`)
+      .addEventListener("click", function () {
+        voteHandler.deleteVotes();
+      });
   }
 
   async refreshBreadCrumb() {
@@ -154,7 +162,6 @@ class Vote {
       </table>
     </div> `;
 
-    let voteHandler = this;
     let votes = await this.updatesVotes();
     let candidateLists = await this.updateCandidateLists();
 
@@ -238,6 +245,7 @@ class Vote {
   }
 
   async updatesVotes() {
+    let voteHandler = this;
     let votes = await this.VoteModel.getVotes();
     return votes.filter((vote) => {
       return vote.DeskRoundID == voteHandler.DeskRoundID;
@@ -245,7 +253,8 @@ class Vote {
   }
 
   async updateCandidateLists() {
-    let canddiateLists = await this.CandidateListModel.getCandidateLists();
+    let voteHandler = this;
+    let candidateLists = await this.CandidateListModel.getCandidateLists();
     return candidateLists.filter((candidateList) => {
       return (
         candidateList.AreaID == voteHandler.AreaID &&
@@ -253,4 +262,14 @@ class Vote {
       );
     });
   }
+
+  async deleteVotes() {
+    let voteHandler = this;
+    let votes = await this.updatesVotes();
+    votes.forEach(async (vote) => {
+      await voteHandler.VoteModel.deleteVote(vote.ID);
+      await voteHandler.VoteModel.refreshVotes();
+      await voteHandler.loadVotes();
+    });
+  }
 }
-- 
GitLab