| 35 <c:set var="version" scope="page" value="${viewmodel.version}"/> |
35 <c:set var="version" scope="page" value="${viewmodel.version}"/> |
| 36 <c:set var="issue" scope="page" value="${viewmodel.issue}" /> |
36 <c:set var="issue" scope="page" value="${viewmodel.issue}" /> |
| 37 |
37 |
| 38 <c:set var="issuesHref" scope="page" value="./projects/${project.node}/issues/${empty version ? '-' : version.node }/${empty component ? '-' : component.node}/"/> |
38 <c:set var="issuesHref" scope="page" value="./projects/${project.node}/issues/${empty version ? '-' : version.node }/${empty component ? '-' : component.node}/"/> |
| 39 |
39 |
| 40 <table class="formtable fullwidth"> |
40 <table class="issue-view fullwidth"> |
| |
41 <colgroup> |
| |
42 <col> |
| |
43 <col style="width: 50%"> |
| |
44 <col> |
| |
45 <col style="width: 50%"> |
| |
46 </colgroup> |
| |
47 <tbody> |
| |
48 <tr> |
| |
49 <th><fmt:message key="issue.id"/></th> |
| |
50 <td>${issue.id}</td> |
| |
51 <td colspan="2"></td> |
| |
52 </tr> |
| |
53 <tr> |
| |
54 <th><fmt:message key="issue.created"/></th> |
| |
55 <td> |
| |
56 <c:set var="dateValue" value="${issue.created}"/> |
| |
57 <%@include file="../jspf/date-with-tooltip.jspf"%> |
| |
58 </td> |
| |
59 <th><fmt:message key="issue.updated"/></th> |
| |
60 <td> |
| |
61 <c:set var="dateValue" value="${issue.updated}"/> |
| |
62 <%@include file="../jspf/date-with-tooltip.jspf"%> |
| |
63 </td> |
| |
64 </tr> |
| |
65 <tr> |
| |
66 <th><fmt:message key="project"/></th> |
| |
67 <td> |
| |
68 <c:out value="${issue.project.name}" /> |
| |
69 </td> |
| |
70 <th><fmt:message key="component"/></th> |
| |
71 <td> |
| |
72 <c:if test="${not empty issue.component}"> |
| |
73 <c:out value="${issue.component.name}"/> |
| |
74 </c:if> |
| |
75 <c:if test="${empty issue.component}"> |
| |
76 <fmt:message key="placeholder.null-component"/> |
| |
77 </c:if> |
| |
78 </td> |
| |
79 </tr> |
| |
80 <tr> |
| |
81 <th><fmt:message key="issue.category"/></th> |
| |
82 <td> |
| |
83 <div class="issue-tag ${issue.category}" style="width: auto"> |
| |
84 <fmt:message key="issue.category.${issue.category}" /> |
| |
85 </div> |
| |
86 </td> |
| |
87 <th><fmt:message key="issue.status"/></th> |
| |
88 <td> |
| |
89 <div class="issue-tag phase-${issue.status.phase.number}" style="width: auto"> |
| |
90 <fmt:message key="issue.status.${issue.status}" /> |
| |
91 </div> |
| |
92 </td> |
| |
93 </tr> |
| |
94 <tr> |
| |
95 <th><fmt:message key="issue.resolved-versions"/></th> |
| |
96 <td> |
| |
97 <c:forEach var="version" items="${issue.resolvedVersions}"> |
| |
98 <c:out value="${version.name}"/> |
| |
99 </c:forEach> |
| |
100 </td> |
| |
101 <th><fmt:message key="issue.affected-versions"/></th> |
| |
102 <td> |
| |
103 <c:forEach var="version" items="${issue.affectedVersions}"> |
| |
104 <c:out value="${version.name}"/> |
| |
105 </c:forEach> |
| |
106 </td> |
| |
107 </tr> |
| |
108 </tbody> |
| |
109 </table> |
| |
110 <table class="issue-view fullwidth"> |
| 41 <colgroup> |
111 <colgroup> |
| 42 <col> |
112 <col> |
| 43 <col style="width: 100%"> |
113 <col style="width: 100%"> |
| 44 </colgroup> |
114 </colgroup> |
| 45 <tbody> |
115 <tbody> |
| 46 <c:if test="${viewmodel.issue.id ge 0}"> |
|
| 47 <tr> |
|
| 48 <th><fmt:message key="issue.id"/></th> |
|
| 49 <td>${issue.id}</td> |
|
| 50 </tr> |
|
| 51 </c:if> |
|
| 52 <tr> |
|
| 53 <th><fmt:message key="project"/></th> |
|
| 54 <td> |
|
| 55 <c:out value="${issue.project.name}" /> |
|
| 56 </td> |
|
| 57 </tr> |
|
| 58 <tr> |
|
| 59 <th><fmt:message key="issue.created"/></th> |
|
| 60 <td> |
|
| 61 <c:set var="dateValue" value="${issue.created}"/> |
|
| 62 <%@include file="../jspf/date-with-tooltip.jspf"%> |
|
| 63 </td> |
|
| 64 </tr> |
|
| 65 <tr> |
|
| 66 <th><fmt:message key="issue.updated"/></th> |
|
| 67 <td> |
|
| 68 <c:set var="dateValue" value="${issue.updated}"/> |
|
| 69 <%@include file="../jspf/date-with-tooltip.jspf"%> |
|
| 70 </td> |
|
| 71 </tr> |
|
| 72 <tr> |
|
| 73 <th><fmt:message key="component"/></th> |
|
| 74 <td> |
|
| 75 <c:if test="${not empty issue.component}"> |
|
| 76 <c:out value="${issue.component.name}"/> |
|
| 77 </c:if> |
|
| 78 <c:if test="${empty issue.component}"> |
|
| 79 <fmt:message key="placeholder.null-component"/> |
|
| 80 </c:if> |
|
| 81 </td> |
|
| 82 </tr> |
|
| 83 <tr> |
|
| 84 <th><fmt:message key="issue.category"/></th> |
|
| 85 <td> |
|
| 86 <div class="issue-tag ${issue.category}" style="width: auto"> |
|
| 87 <fmt:message key="issue.category.${issue.category}" /> |
|
| 88 </div> |
|
| 89 </td> |
|
| 90 </tr> |
|
| 91 <tr> |
|
| 92 <th><fmt:message key="issue.status"/></th> |
|
| 93 <td> |
|
| 94 <div class="issue-tag phase-${issue.status.phase.number}" style="width: auto"> |
|
| 95 <fmt:message key="issue.status.${issue.status}" /> |
|
| 96 </div> |
|
| 97 </td> |
|
| 98 </tr> |
|
| 99 <tr> |
116 <tr> |
| 100 <th><fmt:message key="issue.subject"/></th> |
117 <th><fmt:message key="issue.subject"/></th> |
| 101 <td><c:out value="${issue.subject}"/></td> |
118 <td><c:out value="${issue.subject}"/></td> |
| 102 </tr> |
119 </tr> |
| 103 <tr> |
120 <tr> |
| 118 <fmt:message key="placeholder.null-assignee" /> |
135 <fmt:message key="placeholder.null-assignee" /> |
| 119 </c:if> |
136 </c:if> |
| 120 </td> |
137 </td> |
| 121 </tr> |
138 </tr> |
| 122 <tr> |
139 <tr> |
| 123 <th class="vtop"><fmt:message key="issue.affected-versions"/></th> |
|
| 124 <td> |
|
| 125 <c:forEach var="version" items="${issue.affectedVersions}"> |
|
| 126 <c:out value="${version.name}"/> |
|
| 127 </c:forEach> |
|
| 128 </td> |
|
| 129 </tr> |
|
| 130 <tr> |
|
| 131 <th class="vtop"><fmt:message key="issue.resolved-versions"/></th> |
|
| 132 <td> |
|
| 133 <c:forEach var="version" items="${issue.resolvedVersions}"> |
|
| 134 <c:out value="${version.name}"/> |
|
| 135 </c:forEach> |
|
| 136 </td> |
|
| 137 </tr> |
|
| 138 <tr> |
|
| 139 <th><fmt:message key="issue.eta"/></th> |
140 <th><fmt:message key="issue.eta"/></th> |
| 140 <td><fmt:formatDate value="${issue.eta}" /></td> |
141 <td><fmt:formatDate value="${issue.eta}" /></td> |
| 141 </tr> |
142 </tr> |
| 142 </tbody> |
143 </tbody> |
| 143 <tfoot> |
|
| 144 <tr> |
|
| 145 <td colspan="2"> |
|
| 146 <a href="${issuesHref}" class="button"> |
|
| 147 <fmt:message key="button.cancel"/> |
|
| 148 </a> |
|
| 149 <a href="${issuesHref}${issue.id}/edit" class="button submit"> |
|
| 150 <fmt:message key="button.issue.edit"/> |
|
| 151 </a> |
|
| 152 </td> |
|
| 153 </tr> |
|
| 154 </tfoot> |
|
| 155 </table> |
144 </table> |
| |
145 <div class="hright"> |
| |
146 <a href="${issuesHref}" class="button"> |
| |
147 <fmt:message key="button.back"/> |
| |
148 </a> |
| |
149 <a href="${issuesHref}${issue.id}/edit" class="button submit"> |
| |
150 <fmt:message key="button.issue.edit"/> |
| |
151 </a> |
| |
152 </div> |
| 156 |
153 |
| 157 <hr class="comments-separator"/> |
154 <hr class="comments-separator"/> |
| 158 <h2><fmt:message key="issue.comments"/></h2> |
155 <h2><fmt:message key="issue.comments"/></h2> |
| 159 <c:if test="${viewmodel.issue.id ge 0}"> |
156 <c:if test="${viewmodel.issue.id ge 0}"> |
| 160 <form id="comment-form" action="${issuesHref}${issue.id}/comment" method="post"> |
157 <form id="comment-form" action="${issuesHref}${issue.id}/comment" method="post"> |