diff --git a/web/components/vote/votes.js b/web/components/vote/votes.js index 892686132ec740e9d7dd1e6dea7839d97a8cbf20..259ab779a059f3dcf6c446441d1cb2e4ab2db609 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(); + }); + } }