| 23 CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
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 |
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. |
25 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 26 --%> |
26 --%> |
| 27 <%@page pageEncoding="UTF-8" %> |
27 <%@page pageEncoding="UTF-8" %> |
| 28 <%@page import="de.uapcore.lightpit.modules.ProjectsModule" %> |
|
| 29 <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> |
28 <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> |
| 30 <%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> |
29 <%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> |
| 31 |
30 |
| 32 <c:set scope="page" var="selectedProject" value="${sessionScope[ProjectsModule.SESSION_ATTR_SELECTED_PROJECT]}"/> |
|
| 33 |
|
| 34 <jsp:useBean id="versions" type="java.util.List<de.uapcore.lightpit.entities.Version>" scope="request"/> |
31 <jsp:useBean id="versions" type="java.util.List<de.uapcore.lightpit.entities.Version>" scope="request"/> |
| 35 <jsp:useBean id="issues" type="java.util.List<de.uapcore.lightpit.entities.Issue>" scope="request"/> |
32 <jsp:useBean id="statsAffected" type="java.util.List<de.uapcore.lightpit.entities.VersionStatistics>" scope="request"/> |
| |
33 <jsp:useBean id="statsScheduled" type="java.util.List<de.uapcore.lightpit.entities.VersionStatistics>" scope="request"/> |
| |
34 <jsp:useBean id="statsResolved" type="java.util.List<de.uapcore.lightpit.entities.VersionStatistics>" scope="request"/> |
| |
35 <jsp:useBean id="issueStatusEnum" type="de.uapcore.lightpit.entities.IssueStatus[]" scope="request"/> |
| |
36 <jsp:useBean id="issueCategoryEnum" type="de.uapcore.lightpit.entities.IssueCategory[]" scope="request"/> |
| |
37 <jsp:useBean id="statsHideZeros" type="java.lang.Boolean" scope="request"/> |
| 36 |
38 |
| 37 <div id="tool-area"> |
39 <div id="tool-area"> |
| 38 <a href="./projects/versions/edit" class="button"><fmt:message key="button.version.create"/></a> |
40 <a href="./projects/versions/edit" class="button"><fmt:message key="button.version.create"/></a> |
| 39 <a href="./projects/issues/edit" class="button"><fmt:message key="button.issue.create"/></a> |
41 <a href="./projects/issues/edit" class="button"><fmt:message key="button.issue.create"/></a> |
| |
42 <a href="./projects/issues/" class="button"><fmt:message key="button.issue.list"/></a> |
| |
43 <c:if test="${not statsHideZeros}"> |
| |
44 <a href="./projects/view?reduced=1" class="button"><fmt:message key="button.stats.hidezeros"/></a> |
| |
45 </c:if> |
| |
46 <c:if test="${statsHideZeros}"> |
| |
47 <a href="./projects/view?reduced=0" class="button"><fmt:message key="button.stats.showzeros"/></a> |
| |
48 </c:if> |
| 40 </div> |
49 </div> |
| 41 |
50 |
| 42 <c:if test="${not empty versions}"> |
51 <div id="version-stats"> |
| 43 <table id="version-list" class="datatable medskip"> |
52 <c:forEach var="version" items="${versions}" varStatus="iter"> |
| 44 <thead> |
53 <h2> |
| 45 <tr> |
54 <fmt:message key="version.label" /> <c:out value="${version.name}" /> - <fmt:message key="version.status.${version.status}"/> |
| 46 <th></th> |
55 <a href="./projects/versions/edit?id=${version.id}">✎</a> |
| 47 <th><fmt:message key="thead.version.name"/></th> |
56 </h2> |
| 48 <th><fmt:message key="thead.version.status"/></th> |
|
| 49 </tr> |
|
| 50 </thead> |
|
| 51 <tbody> |
|
| 52 <c:forEach var="version" items="${versions}"> |
|
| 53 <tr class="nowrap"> |
|
| 54 <td style="width: 2em;"><a href="./projects/versions/edit?id=${version.id}">✎</a> |
|
| 55 </td> |
|
| 56 <td><c:out value="${version.name}"/></td> |
|
| 57 <td><fmt:message key="version.status.${version.status}"/></td> |
|
| 58 </tr> |
|
| 59 </c:forEach> |
|
| 60 </tbody> |
|
| 61 </table> |
|
| 62 </c:if> |
|
| 63 |
57 |
| 64 <table id="issue-list" class="datatable medskip"> |
58 <h3><fmt:message key="version.statistics.affected" /></h3> |
| 65 <thead> |
59 <c:set var="stats" value="${statsAffected[iter.index]}" /> |
| 66 <tr> |
60 <%@include file="../jspf/version-stats.jsp" %> |
| 67 <th><fmt:message key="thead.issue.subject"/></th> |
61 |
| 68 <th><fmt:message key="thead.issue.assignee"/></th> |
62 <h3><fmt:message key="version.statistics.scheduled" /></h3> |
| 69 <th><fmt:message key="thead.issue.category"/></th> |
63 <c:set var="stats" value="${statsScheduled[iter.index]}" /> |
| 70 <th><fmt:message key="thead.issue.status"/></th> |
64 <%@include file="../jspf/version-stats.jsp" %> |
| 71 <th><fmt:message key="thead.issue.created"/></th> |
65 |
| 72 <th><fmt:message key="thead.issue.updated"/></th> |
66 <h3><fmt:message key="version.statistics.resolved" /></h3> |
| 73 <th><fmt:message key="thead.issue.eta"/></th> |
67 <c:set var="stats" value="${statsResolved[iter.index]}" /> |
| 74 <!-- TODO: add other information --> |
68 <%@include file="../jspf/version-stats.jsp" %> |
| 75 </tr> |
69 </c:forEach> |
| 76 </thead> |
70 </div> |
| 77 <tbody> |
|
| 78 <c:forEach var="issue" items="${issues}"> |
|
| 79 <tr> |
|
| 80 <td> |
|
| 81 <a href="./projects/issues/edit?id=${issue.id}"> |
|
| 82 <c:out value="${issue.subject}" /> |
|
| 83 </a> |
|
| 84 </td> |
|
| 85 <td> |
|
| 86 <c:if test="${not empty issue.assignee}"> |
|
| 87 <c:out value="${issue.assignee.shortDisplayname}" /> |
|
| 88 </c:if> |
|
| 89 <c:if test="${empty issue.assignee}"> |
|
| 90 <fmt:message key="placeholder.null-assignee" /> |
|
| 91 </c:if> |
|
| 92 </td> |
|
| 93 <td> |
|
| 94 <fmt:message key="issue.category.${issue.category}" /> |
|
| 95 </td> |
|
| 96 <td> |
|
| 97 <fmt:message key="issue.status.${issue.status}" /> |
|
| 98 </td> |
|
| 99 <td> |
|
| 100 <fmt:formatDate value="${issue.created}" type="BOTH"/> |
|
| 101 </td> |
|
| 102 <td> |
|
| 103 <fmt:formatDate value="${issue.updated}" type="BOTH"/> |
|
| 104 </td> |
|
| 105 <td> |
|
| 106 <fmt:formatDate value="${issue.eta}" /> |
|
| 107 </td> |
|
| 108 </tr> |
|
| 109 </c:forEach> |
|
| 110 </tbody> |
|
| 111 </table> |
|