src/main/webapp/WEB-INF/jsp/project-details.jsp

changeset 80
27a25f32048e
parent 78
bb4c52bf3439
child 81
1a2e7b5d48f7
equal deleted inserted replaced
79:f64255a88d66 80:27a25f32048e
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}">&#x270e;</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}">&#x270e;</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>

mercurial