| |
1 <%-- |
| |
2 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. |
| |
3 |
| |
4 Copyright 2021 Mike Becker. All rights reserved. |
| |
5 |
| |
6 Redistribution and use in source and binary forms, with or without |
| |
7 modification, are permitted provided that the following conditions are met: |
| |
8 |
| |
9 1. Redistributions of source code must retain the above copyright |
| |
10 notice, this list of conditions and the following disclaimer. |
| |
11 |
| |
12 2. Redistributions in binary form must reproduce the above copyright |
| |
13 notice, this list of conditions and the following disclaimer in the |
| |
14 documentation and/or other materials provided with the distribution. |
| |
15 |
| |
16 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
| |
17 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
| |
18 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
| |
19 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE |
| |
20 FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
| |
21 DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR |
| |
22 SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER |
| |
23 CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
| |
24 OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| |
25 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| |
26 --%> |
| |
27 <%@page pageEncoding="UTF-8" %> |
| |
28 <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> |
| |
29 <%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> |
| |
30 |
| |
31 <jsp:useBean id="viewmodel" type="de.uapcore.lightpit.viewmodel.VariantsView" scope="request" /> |
| |
32 |
| |
33 <c:set var="project" scope="page" value="${viewmodel.projectInfo.project}"/> |
| |
34 |
| |
35 <%@include file="../jspf/project-header.jspf"%> |
| |
36 |
| |
37 <div> |
| |
38 <a href="./projects/${project.node}/variants/-/create" class="button"><fmt:message key="button.variant.create"/></a> |
| |
39 <button onclick="toggleProjectDetails()" id="toggle-details-button"><fmt:message key="button.project.details"/></button> |
| |
40 <a href="./projects/${project.node}/issues/-/-/-/-/create" class="button"><fmt:message key="button.issue.create"/></a> |
| |
41 </div> |
| |
42 |
| |
43 <h2><fmt:message key="progress" /></h2> |
| |
44 |
| |
45 <c:set var="summary" value="${viewmodel.projectInfo.issueSummary}" /> |
| |
46 <%@include file="../jspf/issue-summary.jspf"%> |
| |
47 |
| |
48 <table id="version-list" class="datatable medskip fullwidth"> |
| |
49 <colgroup> |
| |
50 <col> |
| |
51 <col style="width: 20%"> |
| |
52 <col style="width: 44%"> |
| |
53 <col style="width: 12%"> |
| |
54 <col style="width: 12%"> |
| |
55 <col style="width: 12%"> |
| |
56 </colgroup> |
| |
57 <thead> |
| |
58 <tr> |
| |
59 <th colspan="3"></th> |
| |
60 <th colspan="3" class="hcenter"> |
| |
61 <fmt:message key="issues"/> |
| |
62 </th> |
| |
63 </tr> |
| |
64 <tr> |
| |
65 <th></th> |
| |
66 <th><fmt:message key="variant"/></th> |
| |
67 <th><fmt:message key="description"/></th> |
| |
68 <th class="hcenter"><fmt:message key="issues.open" /></th> |
| |
69 <th class="hcenter"><fmt:message key="issues.active" /></th> |
| |
70 <th class="hcenter"><fmt:message key="issues.done" /></th> |
| |
71 </tr> |
| |
72 </thead> |
| |
73 <tbody> |
| |
74 <c:forEach var="variantInfo" items="${viewmodel.variantInfos}" > |
| |
75 <tr> |
| |
76 <td rowspan="2" style="width: 2em;"><a href="./projects/${project.node}/variants/${variantInfo.variant.node}/edit">✎</a></td> |
| |
77 <td rowspan="2"> |
| |
78 <div class="navmenu-icon" style="background-color: ${variantInfo.variant.color}"></div> |
| |
79 <a href="./projects/${project.node}/issues/-/-/${variantInfo.variant.node}/" |
| |
80 <c:if test="${not variantInfo.variant.active}">style="text-decoration: line-through;"</c:if> |
| |
81 > |
| |
82 <c:out value="${variantInfo.variant.name}"/> |
| |
83 </a> |
| |
84 </td> |
| |
85 <td rowspan="2"><c:out value="${variantInfo.variant.description}"/> </td> |
| |
86 <td class="hright">${variantInfo.issueSummary.open}</td> |
| |
87 <td class="hright">${variantInfo.issueSummary.active}</td> |
| |
88 <td class="hright">${variantInfo.issueSummary.done}</td> |
| |
89 </tr> |
| |
90 <tr> |
| |
91 <td colspan="3"> |
| |
92 <c:set var="summary" value="${variantInfo.issueSummary}"/> |
| |
93 <%@include file="../jspf/issue-progress.jspf" %> |
| |
94 </td> |
| |
95 </tr> |
| |
96 </c:forEach> |
| |
97 </tbody> |
| |
98 </table> |