From 81befda3a9bbbb81bf82993e6066eff6fdffa7b1 Mon Sep 17 00:00:00 2001 From: Simon Date: Sat, 28 Nov 2020 00:17:16 +0100 Subject: [PATCH] Change vote status of voter if voter voted Through that voters can only vote once --- .../controller/VotingController.java | 7 ++++++- .../cato447/AbizeitungVotingSystem/entities/Voter.java | 4 ++++ src/main/resources/templates/voting.html | 1 + 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/github/cato447/AbizeitungVotingSystem/controller/VotingController.java b/src/main/java/com/github/cato447/AbizeitungVotingSystem/controller/VotingController.java index a6ab81e..adc6dea 100644 --- a/src/main/java/com/github/cato447/AbizeitungVotingSystem/controller/VotingController.java +++ b/src/main/java/com/github/cato447/AbizeitungVotingSystem/controller/VotingController.java @@ -95,6 +95,7 @@ public class VotingController { List categories = categoryRepository.findAll(); model.addAttribute("candidates", candidates); model.addAttribute("categories", categories); + model.addAttribute("name", name); //sendSimpleMessage(name,"test", "test"); LOGGER.info(name + " is voting now"); return "voting.html"; @@ -109,7 +110,7 @@ public class VotingController { } @RequestMapping("/processVote") - public String ProcessVote(@RequestParam String voteValues) { + public String ProcessVote(@RequestParam String voteValues, @RequestParam String voterEmail) { String[] partVoteValues = voteValues.split(","); for (String s: partVoteValues) { long candidateID = Long.valueOf(s); @@ -117,6 +118,10 @@ public class VotingController { candidate.votedFor(); candidateRepository.save(candidate); } + Voter voter = voterRepository.findByEmail(voterEmail); + voter.vote(); + voterRepository.save(voter); + LOGGER.info(voterEmail + " has voted!"); return "success.html"; } diff --git a/src/main/java/com/github/cato447/AbizeitungVotingSystem/entities/Voter.java b/src/main/java/com/github/cato447/AbizeitungVotingSystem/entities/Voter.java index 1e26ed4..69fa7da 100644 --- a/src/main/java/com/github/cato447/AbizeitungVotingSystem/entities/Voter.java +++ b/src/main/java/com/github/cato447/AbizeitungVotingSystem/entities/Voter.java @@ -32,4 +32,8 @@ public class Voter { public Boolean getVote_status() { return vote_status; } + + public void vote(){ + vote_status = true; + } } diff --git a/src/main/resources/templates/voting.html b/src/main/resources/templates/voting.html index ddee8b9..4b9d0ba 100644 --- a/src/main/resources/templates/voting.html +++ b/src/main/resources/templates/voting.html @@ -54,6 +54,7 @@
+