From 75ad93bde082d1ff08e49bf7bb2a4dbb586cd4c2 Mon Sep 17 00:00:00 2001 From: Simon Date: Sat, 28 Nov 2020 00:03:36 +0100 Subject: [PATCH] Added the voting system --- .../controller/VotingController.java | 17 ++++--- .../repositories/CandidateRepository.java | 5 ++ src/main/resources/static/styles/voting.css | 25 ++++++++-- src/main/resources/templates/voting.html | 46 ++++++++++++++++++- 4 files changed, 81 insertions(+), 12 deletions(-) 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 92e3bb0..a6ab81e 100644 --- a/src/main/java/com/github/cato447/AbizeitungVotingSystem/controller/VotingController.java +++ b/src/main/java/com/github/cato447/AbizeitungVotingSystem/controller/VotingController.java @@ -7,6 +7,7 @@ import com.github.cato447.AbizeitungVotingSystem.repositories.CandidateRepositor import com.github.cato447.AbizeitungVotingSystem.repositories.CategoryRepository; import com.github.cato447.AbizeitungVotingSystem.repositories.VoterRepository; import com.github.cato447.AbizeitungVotingSystem.table.TableAction; +import org.apache.juli.logging.Log; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.javamail.JavaMailSender; @@ -71,7 +72,7 @@ public class VotingController { return "start.html"; } - + public void sendSimpleMessage( String to, String subject, String text) { SimpleMailMessage message = new SimpleMailMessage(); @@ -94,7 +95,7 @@ public class VotingController { List categories = categoryRepository.findAll(); model.addAttribute("candidates", candidates); model.addAttribute("categories", categories); - sendSimpleMessage(name,"test", "test"); + //sendSimpleMessage(name,"test", "test"); LOGGER.info(name + " is voting now"); return "voting.html"; } @@ -108,8 +109,14 @@ public class VotingController { } @RequestMapping("/processVote") - public String ProcessVote(@RequestParam String name) { - LOGGER.info(name + " has voted"); + public String ProcessVote(@RequestParam String voteValues) { + String[] partVoteValues = voteValues.split(","); + for (String s: partVoteValues) { + long candidateID = Long.valueOf(s); + Candidate candidate = candidateRepository.findById(candidateID).get(); + candidate.votedFor(); + candidateRepository.save(candidate); + } return "success.html"; } @@ -118,7 +125,6 @@ public class VotingController { try { if (password.equals("admin")) { List voters = voterRepository.findAll(); - List candidates = candidateRepository.findAll(); List categories = categoryRepository.findAll(); model.addAttribute("voters", voters); model.addAttribute("categories", categories); @@ -126,7 +132,6 @@ public class VotingController { } else { LOGGER.error("Wrong Password"); } - LOGGER.error("Wrong Username"); } catch (Exception e) { LOGGER.fatal("voters table is not existing!"); } diff --git a/src/main/java/com/github/cato447/AbizeitungVotingSystem/repositories/CandidateRepository.java b/src/main/java/com/github/cato447/AbizeitungVotingSystem/repositories/CandidateRepository.java index 90e73a8..086bf83 100644 --- a/src/main/java/com/github/cato447/AbizeitungVotingSystem/repositories/CandidateRepository.java +++ b/src/main/java/com/github/cato447/AbizeitungVotingSystem/repositories/CandidateRepository.java @@ -4,9 +4,14 @@ import com.github.cato447.AbizeitungVotingSystem.entities.Candidate; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; +import java.util.Optional; + @Repository public interface CandidateRepository extends JpaRepository { public Candidate findByName(String name); + Optional findById(Long id); + + } diff --git a/src/main/resources/static/styles/voting.css b/src/main/resources/static/styles/voting.css index 7bbc4c4..2cec353 100644 --- a/src/main/resources/static/styles/voting.css +++ b/src/main/resources/static/styles/voting.css @@ -20,16 +20,33 @@ h2.categoryHeader { color: #FFF; } -a.candidate { - color: #fff; +button { + background: transparent; + border: none; + color: #FFF; font-size: .875rem; - font-weight: 300; + font-weight: normal; letter-spacing: .125rem; text-transform: uppercase; - text-align: right; + text-align: center; transition: opacity .25s .5s; } +#submitButton { + margin-top: 5%; + padding: .25em 0; + border: 0; + outline: 0; + background: #bb1515; + color: rgba(255, 255, 255, 0.85); + font-size: 2rem; + width: 500px; + letter-spacing: .0625rem; + border-radius: 12px; + box-shadow: 0 3px 5px 1px rgba(0, 0, 0, 0.25); + text-shadow: 0 -2px 0 rgba(0, 0, 0, 0.25), 0 1px 0 rgba(255, 255, 255, 0.2); +} + html, body { width: 100%; diff --git a/src/main/resources/templates/voting.html b/src/main/resources/templates/voting.html index c008e4a..ddee8b9 100644 --- a/src/main/resources/templates/voting.html +++ b/src/main/resources/templates/voting.html @@ -7,14 +7,56 @@ + + + +

Wähle deine Kandidaten:

-
- +
+
+
+ + +
+ \ No newline at end of file