Candidates get sorted descending by their votes within their categories
This commit is contained in:
@@ -4,7 +4,7 @@ import javax.persistence.*;
|
|||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "candidates")
|
@Table(name = "candidates")
|
||||||
public class Candidate {
|
public class Candidate implements Comparable<Candidate>{
|
||||||
|
|
||||||
public Candidate() {
|
public Candidate() {
|
||||||
super();
|
super();
|
||||||
@@ -41,4 +41,16 @@ public class Candidate {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public Category getCategory() {return category;}
|
public Category getCategory() {return category;}
|
||||||
|
|
||||||
|
public void votedFor() {
|
||||||
|
this.votes += 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int compareTo(Candidate c) {
|
||||||
|
if (getVotes() == null || c.getVotes() == null) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
return c.getVotes().compareTo(getVotes());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.github.cato447.AbizeitungVotingSystem.entities;
|
package com.github.cato447.AbizeitungVotingSystem.entities;
|
||||||
|
|
||||||
import javax.persistence.*;
|
import javax.persistence.*;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
@@ -34,6 +35,11 @@ public class Category {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public List<Candidate> getCandidateList() {
|
public List<Candidate> getCandidateList() {
|
||||||
|
Collections.sort(candidateList);
|
||||||
return candidateList;
|
return candidateList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getCandidateListSize(){
|
||||||
|
return candidateList.size();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,50 +8,56 @@
|
|||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<h1>Wähler Liste</h1>
|
|
||||||
|
|
||||||
<div class="voterTable">
|
<ul>
|
||||||
<table class="tableVoters" border="5">
|
<li>
|
||||||
<tr>
|
<h1>Wähler Liste</h1>
|
||||||
<th>Id</th>
|
<div class="voterTable">
|
||||||
<th>E-Mail</th>
|
|
||||||
<th>Vote status</th>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr th:each="voter : ${voters}">
|
<table class="tableVoters" border="5">
|
||||||
<!-- If voter has voted -->
|
<tr>
|
||||||
<div th:if="${voter.vote_status}">
|
<th>Id</th>
|
||||||
<td class="voted" th:text="${voter.id}"></td>
|
<th>E-Mail</th>
|
||||||
<td class="voted" th:text="${voter.email}"></td>
|
<th>Vote status</th>
|
||||||
<td class="voted" th:text="${voter.vote_status}"></td>
|
</tr>
|
||||||
|
|
||||||
|
<tr th:each="voter : ${voters}">
|
||||||
|
<!-- If voter has voted -->
|
||||||
|
<div th:if="${voter.vote_status}">
|
||||||
|
<td class="voted" th:text="${voter.id}"></td>
|
||||||
|
<td class="voted" th:text="${voter.email}"></td>
|
||||||
|
<td class="voted" th:text="${voter.vote_status}"></td>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- ELSE -->
|
||||||
|
<div th:unless="${voter.vote_status}">
|
||||||
|
<td class="notVoted" th:text="${voter.id}"></td>
|
||||||
|
<td class="notVoted" th:text="${voter.email}"></td>
|
||||||
|
<td class="notVoted" th:text="${voter.vote_status}"></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<h1>Kandidaten Liste</h1>
|
||||||
|
<div th:each="category : ${categories}" th:id="${category.id}">
|
||||||
|
<h2 th:text="${category.name}"></h2>
|
||||||
|
<table class="tableCandidates" border="5">
|
||||||
|
<tr>
|
||||||
|
<th>Id</th>
|
||||||
|
<th>Name</th>
|
||||||
|
<th>Votes</th>
|
||||||
|
</tr>
|
||||||
|
|
||||||
<!-- ELSE -->
|
<tr th:each="candidate: ${category.candidateList}" th:id="${category.id} + '_' + ${candidate.id}">
|
||||||
<div th:unless="${voter.vote_status}">
|
<td th:text="${candidate.id}"></td>
|
||||||
<td class="notVoted" th:text="${voter.id}"></td>
|
<td th:text="${candidate.name}"></td>
|
||||||
<td class="notVoted" th:text="${voter.email}"></td>
|
<td th:text="${candidate.votes}"></td>
|
||||||
<td class="notVoted" th:text="${voter.vote_status}"></td>
|
</tr>
|
||||||
</tr>
|
</table>
|
||||||
</table>
|
</div>
|
||||||
</div>
|
</li>
|
||||||
|
</ul>
|
||||||
<h1>Kandidaten Liste</h1>
|
|
||||||
<div th:each="category : ${categories}" th:id="${category.id}">
|
|
||||||
<h2 th:text="${category.name}"></h2>
|
|
||||||
<table class="tableCandidates" border="5">
|
|
||||||
<tr>
|
|
||||||
<th>Id</th>
|
|
||||||
<th>Name</th>
|
|
||||||
<th>Votes</th>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr th:each="candidate: ${category.candidateList}" th:id="${category.id} + '_' + ${candidate.id}">
|
|
||||||
<td th:text="${candidate.id}"></td>
|
|
||||||
<td th:text="${candidate.name}"></td>
|
|
||||||
<td th:text="${candidate.votes}"></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
Reference in New Issue
Block a user