26 --%> |
26 --%> |
27 <%@page pageEncoding="UTF-8" %> |
27 <%@page pageEncoding="UTF-8" %> |
28 <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> |
28 <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> |
29 <%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> |
29 <%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> |
30 |
30 |
31 <jsp:useBean id="project" type="de.uapcore.lightpit.entities.Project" scope="request" /> |
31 <jsp:useBean id="viewmodel" type="de.uapcore.lightpit.viewmodel.ProjectView" scope="request" /> |
32 <jsp:useBean id="versions" type="java.util.List<de.uapcore.lightpit.entities.Version>" scope="request"/> |
|
33 <jsp:useBean id="statsAffected" type="java.util.List<de.uapcore.lightpit.entities.VersionStatistics>" scope="request"/> |
|
34 <jsp:useBean id="statsScheduled" type="java.util.List<de.uapcore.lightpit.entities.VersionStatistics>" scope="request"/> |
|
35 <jsp:useBean id="statsResolved" type="java.util.List<de.uapcore.lightpit.entities.VersionStatistics>" scope="request"/> |
|
36 <jsp:useBean id="issueStatusEnum" type="de.uapcore.lightpit.entities.IssueStatus[]" scope="request"/> |
|
37 <jsp:useBean id="issueCategoryEnum" type="de.uapcore.lightpit.entities.IssueCategory[]" scope="request"/> |
|
38 <jsp:useBean id="statsHideZeros" type="java.lang.Boolean" scope="request"/> |
|
39 |
32 |
40 <div id="project-attributes"> |
33 <c:set var="project" scope="page" value="${viewmodel.project}"/> |
41 <div class="row"> |
34 <%@include file="../jspf/project-header.jsp"%> |
42 <div class="caption"><fmt:message key="name"/>:</div> |
|
43 <div><c:out value="${project.name}"/></div> |
|
44 <div class="caption"><fmt:message key="description"/>:</div> |
|
45 <div><c:out value="${project.description}"/></div> |
|
46 </div> |
|
47 <div class="row"> |
|
48 <div class="caption"><fmt:message key="owner"/>:</div> |
|
49 <div> |
|
50 <c:if test="${not empty project.owner}"><c:out value="${project.owner.displayname}"/></c:if> |
|
51 </div> |
|
52 <div class="caption"><fmt:message key="repoUrl"/>:</div> |
|
53 <div> |
|
54 <c:if test="${not empty project.repoUrl}"> |
|
55 <a target="_blank" href="<c:out value="${project.repoUrl}"/>"><c:out |
|
56 value="${project.repoUrl}"/></a> |
|
57 </c:if> |
|
58 </div> |
|
59 </div> |
|
60 </div> |
|
61 |
35 |
62 <div id="tool-area"> |
36 <div id="tool-area"> |
63 <a href="./projects/versions/edit" class="button"><fmt:message key="button.version.create"/></a> |
37 <a href="./projects/versions/edit" class="button"><fmt:message key="button.version.create"/></a> |
64 <a href="./projects/issues/edit" class="button"><fmt:message key="button.issue.create"/></a> |
38 <a href="./projects/issues/edit?pid=${project.id}" class="button"><fmt:message key="button.issue.create"/></a> |
65 <a href="./projects/issues/" class="button"><fmt:message key="button.issue.list"/></a> |
|
66 <c:if test="${not statsHideZeros}"> |
|
67 <a href="./projects/view?reduced=1" class="button"><fmt:message key="button.stats.hidezeros"/></a> |
|
68 </c:if> |
|
69 <c:if test="${statsHideZeros}"> |
|
70 <a href="./projects/view?reduced=0" class="button"><fmt:message key="button.stats.showzeros"/></a> |
|
71 </c:if> |
|
72 </div> |
39 </div> |
73 |
40 |
74 <div id="version-stats"> |
41 <h2><fmt:message key="progress" /></h2> |
75 <c:forEach var="version" items="${versions}" varStatus="iter"> |
42 |
|
43 <c:set var="summary" value="${viewmodel.issuesTotal}" /> |
|
44 <%@include file="../jspf/issue-summary.jsp"%> |
|
45 |
|
46 <h2><fmt:message key="issue.without-version" /></h2> |
|
47 |
|
48 <c:set var="issues" value="${viewmodel.issuesWithoutVersion}"/> |
|
49 <c:set var="summary" value="${viewmodel.issuesWithoutVersionTotal}" /> |
|
50 <%@include file="../jspf/issue-summary.jsp"%> |
|
51 <%@include file="../jspf/issue-list.jsp"%> |
|
52 |
|
53 <c:forEach var="versionInfo" items="${viewmodel.versionInfos}"> |
76 <h2> |
54 <h2> |
77 <fmt:message key="version.label" /> <c:out value="${version.name}" /> - <fmt:message key="version.status.${version.status}"/> |
55 <fmt:message key="version.label" /> <c:out value="${versionInfo.version.name}" /> - <fmt:message key="version.status.${versionInfo.version.status}"/> |
78 <a href="./projects/versions/edit?id=${version.id}">✎</a> |
56 (<a href="./projects/versions/view?vid=${versionInfo.version.id}">open</a>) |
79 </h2> |
57 </h2> |
80 |
58 |
81 <h3><fmt:message key="version.statistics.affected" /></h3> |
59 <h3><fmt:message key="issues.reported"/> </h3> |
82 <c:set var="stats" value="${statsAffected[iter.index]}" /> |
60 <c:set var="summary" value="${versionInfo.reportedTotal}"/> |
83 <%@include file="../jspf/version-stats.jsp" %> |
61 <c:set var="issues" value="${versionInfo.reported}"/> |
|
62 <%@include file="../jspf/issue-summary.jsp"%> |
84 |
63 |
85 <h3><fmt:message key="version.statistics.scheduled" /></h3> |
64 <h3><fmt:message key="issues.scheduled"/> </h3> |
86 <c:set var="stats" value="${statsScheduled[iter.index]}" /> |
65 <c:set var="summary" value="${versionInfo.scheduledTotal}"/> |
87 <%@include file="../jspf/version-stats.jsp" %> |
66 <c:set var="issues" value="${versionInfo.scheduled}"/> |
|
67 <%@include file="../jspf/issue-summary.jsp"%> |
88 |
68 |
89 <h3><fmt:message key="version.statistics.resolved" /></h3> |
69 <h3><fmt:message key="issues.resolved"/> </h3> |
90 <c:set var="stats" value="${statsResolved[iter.index]}" /> |
70 <c:set var="summary" value="${versionInfo.resolvedTotal}"/> |
91 <%@include file="../jspf/version-stats.jsp" %> |
71 <c:set var="issues" value="${versionInfo.resolved}"/> |
|
72 <%@include file="../jspf/issue-summary.jsp"%> |
92 </c:forEach> |
73 </c:forEach> |
93 </div> |
|