--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/webapp/WEB-INF/jsp/version-plan.jsp Mon Oct 06 13:37:52 2025 +0200 @@ -0,0 +1,86 @@ +<%-- +DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + +Copyright 2025 Mike Becker. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the +documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +--%> +<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> + +<jsp:useBean id="viewmodel" type="de.uapcore.lightpit.viewmodel.VersionPlanning" scope="request" /> + +<c:set var="project" scope="page" value="${viewmodel.projectInfo.project}"/> +<c:set var="version" scope="page" value="${viewmodel.versionInfo.version}"/> +<c:set var="issuesHref" value="./projects/${project.node}/issues/${version.node}/-/-/"/> +<%@include file="../jspf/project-header.jspf"%> + +<h2><fmt:message key="progress" /></h2> + +<c:set var="summary" value="${viewmodel.projectInfo.issueSummary}" /> +<%@include file="../jspf/issue-summary.jspf"%> + +<h2><fmt:message key="version.planning.title"/> <c:out value="${version.name}"/></h2> + +<h3><fmt:message key="issue.filter" /></h3> +<%@include file="../jspf/issue-filter.jspf"%> + +<c:set var="showProjectInfo" value="false"/> +<c:set var="showVersionInfo" value="true"/> +<c:set var="showComponentInfo" value="true"/> +<c:set var="showVariantInfo" value="true"/> +<c:set var="openIssuesInTabs" value="true"/> +<c:set var="versionInfo" value="${viewmodel.versionInfo}"/> + +<h3><fmt:message key="version.planning.open" /></h3> + +<form method="post"> +<div> + <c:if test="${not empty viewmodel.versionInfo}"> + <a href="${issuesHref}" class="button"><fmt:message key="button.cancel"/></a> + <button type="submit"><fmt:message key="button.apply"/></button> + </c:if> +</div> + +<c:set var="issues" value="${viewmodel.candidateIssues}"/> +<c:set var="showCheckbox" value="true"/> +<%@include file="../jspf/issue-list.jspf"%> +<c:set var="showCheckbox" value="false"/> +</form> + +<h3><fmt:message key="issues.resolved"/> </h3> +<c:set var="showVersionInfo" value="false"/> +<c:set var="summary" value="${versionInfo.resolvedTotal}"/> +<%@include file="../jspf/issue-summary.jspf"%> +<c:set var="issues" value="${versionInfo.resolved}"/> +<c:if test="${not empty issues}"> + <%@include file="../jspf/issue-list.jspf"%> +</c:if> +<% // corner case: a version was released before and is now open again for planning %> +<c:set var="issues" value="${versionInfo.reported}"/> +<c:if test="${not empty issues}"> + <h3><fmt:message key="issues.reported"/> </h3> + <c:set var="summary" value="${versionInfo.reportedTotal}"/> + <%@include file="../jspf/issue-summary.jspf"%> + <%@include file="../jspf/issue-list.jspf"%> +</c:if>