Sun, 21 Jun 2020 11:56:36 +0200
only show relevant versions in issue editor
1.1 --- a/src/main/java/de/uapcore/lightpit/entities/VersionStatus.java Sun Jun 21 11:43:08 2020 +0200 1.2 +++ b/src/main/java/de/uapcore/lightpit/entities/VersionStatus.java Sun Jun 21 11:56:36 2020 +0200 1.3 @@ -33,5 +33,9 @@ 1.4 Unreleased, 1.5 Released, 1.6 LTS, 1.7 - Deprecated 1.8 + Deprecated; 1.9 + 1.10 + public boolean isReleased() { 1.11 + return ordinal() >= VersionStatus.Released.ordinal(); 1.12 + } 1.13 }
2.1 --- a/src/main/java/de/uapcore/lightpit/viewmodel/IssueEditView.java Sun Jun 21 11:43:08 2020 +0200 2.2 +++ b/src/main/java/de/uapcore/lightpit/viewmodel/IssueEditView.java Sun Jun 21 11:56:36 2020 +0200 2.3 @@ -2,6 +2,7 @@ 2.4 2.5 import de.uapcore.lightpit.entities.*; 2.6 2.7 +import java.util.ArrayList; 2.8 import java.util.Collections; 2.9 import java.util.List; 2.10 2.11 @@ -9,7 +10,8 @@ 2.12 private final Issue issue; 2.13 2.14 private List<Project> projects = Collections.emptyList(); 2.15 - private List<Version> versions = Collections.emptyList(); 2.16 + private List<Version> versionsUpcoming = new ArrayList<>(); 2.17 + private List<Version> versionsRecent = new ArrayList<>(); 2.18 private List<User> users; 2.19 2.20 public IssueEditView(Issue issue) { 2.21 @@ -28,12 +30,24 @@ 2.22 this.projects = projects; 2.23 } 2.24 2.25 - public List<Version> getVersions() { 2.26 - return versions; 2.27 + public List<Version> getVersionsUpcoming() { 2.28 + return versionsUpcoming; 2.29 + } 2.30 + 2.31 + public List<Version> getVersionsRecent() { 2.32 + return versionsRecent; 2.33 } 2.34 2.35 public void setVersions(List<Version> versions) { 2.36 - this.versions = versions; 2.37 + versionsRecent.clear(); 2.38 + versionsUpcoming.clear(); 2.39 + for (var v : versions) { 2.40 + if (v.getStatus().isReleased()) { 2.41 + versionsRecent.add(v); 2.42 + } else { 2.43 + versionsUpcoming.add(v); 2.44 + } 2.45 + } 2.46 } 2.47 2.48 public List<User> getUsers() {
3.1 --- a/src/main/java/de/uapcore/lightpit/viewmodel/ProjectInfo.java Sun Jun 21 11:43:08 2020 +0200 3.2 +++ b/src/main/java/de/uapcore/lightpit/viewmodel/ProjectInfo.java Sun Jun 21 11:56:36 2020 +0200 3.3 @@ -3,7 +3,6 @@ 3.4 import de.uapcore.lightpit.entities.IssueSummary; 3.5 import de.uapcore.lightpit.entities.Project; 3.6 import de.uapcore.lightpit.entities.Version; 3.7 -import de.uapcore.lightpit.entities.VersionStatus; 3.8 3.9 import java.util.Collections; 3.10 import java.util.List; 3.11 @@ -31,17 +30,19 @@ 3.12 } 3.13 3.14 public Version getLatestVersion() { 3.15 + // expects versions to be sorted by status descending 3.16 for (var v : versions) { 3.17 - if (v.getStatus().ordinal() >= VersionStatus.Released.ordinal()) 3.18 + if (v.getStatus().isReleased()) 3.19 return v; 3.20 } 3.21 return null; 3.22 } 3.23 3.24 public Version getNextVersion() { 3.25 + // expects versions to be sorted by status descending 3.26 Version next = null; 3.27 for (var v : versions) { 3.28 - if (v.getStatus().ordinal() >= VersionStatus.Released.ordinal()) 3.29 + if (v.getStatus().isReleased()) 3.30 break; 3.31 next = v; 3.32 }
4.1 --- a/src/main/webapp/WEB-INF/jsp/issue-form.jsp Sun Jun 21 11:43:08 2020 +0200 4.2 +++ b/src/main/webapp/WEB-INF/jsp/issue-form.jsp Sun Jun 21 11:56:36 2020 +0200 4.3 @@ -30,7 +30,6 @@ 4.4 4.5 <jsp:useBean id="viewmodel" type="de.uapcore.lightpit.viewmodel.IssueEditView" scope="request"/> 4.6 <c:set var="issue" scope="page" value="${viewmodel.issue}" /> 4.7 -<c:set var="versions" value="${viewmodel.versions}" /> 4.8 4.9 <form action="./projects/issues/commit" method="post"> 4.10 <table class="formtable"> 4.11 @@ -115,6 +114,7 @@ 4.12 <th class="vtop"><fmt:message key="issue.affected-versions"/></th> 4.13 <td> 4.14 <c:set var="fieldname" value="affected"/> 4.15 + <c:set var="selectionList" value="${viewmodel.versionsRecent}"/> 4.16 <c:set var="data" value="${issue.affectedVersions}" /> 4.17 <%@include file="../jspf/version-list.jsp"%> 4.18 </td> 4.19 @@ -123,6 +123,7 @@ 4.20 <th class="vtop"><fmt:message key="issue.resolved-versions"/></th> 4.21 <td> 4.22 <c:set var="fieldname" value="resolved"/> 4.23 + <c:set var="selectionList" value="${viewmodel.versionsUpcoming}"/> 4.24 <c:set var="data" value="${issue.resolvedVersions}" /> 4.25 <%@include file="../jspf/version-list.jsp"%> 4.26 </td>
5.1 --- a/src/main/webapp/WEB-INF/jspf/version-list.jsp Sun Jun 21 11:43:08 2020 +0200 5.2 +++ b/src/main/webapp/WEB-INF/jspf/version-list.jsp Sun Jun 21 11:56:36 2020 +0200 5.3 @@ -1,13 +1,13 @@ 5.4 <%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> 5.5 5.6 <select name="${fieldname}" multiple> 5.7 - <c:forEach var="version" items="${versions}"> 5.8 - <option value="${version.id}" 5.9 + <c:forEach var="vselitem" items="${selectionList}"> 5.10 + <option value="${vselitem.id}" 5.11 <c:forEach var="v" items="${data}"> 5.12 - <c:if test="${v eq version}">selected</c:if> 5.13 + <c:if test="${v eq vselitem}">selected</c:if> 5.14 </c:forEach> 5.15 > 5.16 - <c:out value="${version.name}" /> 5.17 + <c:out value="${vselitem.name}" /> 5.18 </option> 5.19 </c:forEach> 5.20 </select>