src/main/webapp/WEB-INF/jsp/issue-form.jsp

Sat, 17 Oct 2020 19:56:50 +0200

author
Mike Becker <universe@uap-core.de>
date
Sat, 17 Oct 2020 19:56:50 +0200
changeset 134
f47e82cd6077
parent 131
67df332e3146
child 136
7281bdf43c60
permissions
-rw-r--r--

completes feature: project components

universe@75 1 <%--
universe@75 2 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
universe@75 3
universe@75 4 Copyright 2018 Mike Becker. All rights reserved.
universe@75 5
universe@75 6 Redistribution and use in source and binary forms, with or without
universe@75 7 modification, are permitted provided that the following conditions are met:
universe@75 8
universe@75 9 1. Redistributions of source code must retain the above copyright
universe@75 10 notice, this list of conditions and the following disclaimer.
universe@75 11
universe@75 12 2. Redistributions in binary form must reproduce the above copyright
universe@75 13 notice, this list of conditions and the following disclaimer in the
universe@75 14 documentation and/or other materials provided with the distribution.
universe@75 15
universe@75 16 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
universe@75 17 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
universe@75 18 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
universe@75 19 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
universe@75 20 FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
universe@75 21 DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
universe@75 22 SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
universe@75 23 CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
universe@75 24 OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
universe@75 25 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
universe@75 26 --%>
universe@75 27 <%@page pageEncoding="UTF-8" %>
universe@75 28 <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
universe@75 29 <%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
universe@75 30
universe@86 31 <jsp:useBean id="viewmodel" type="de.uapcore.lightpit.viewmodel.IssueEditView" scope="request"/>
universe@86 32 <c:set var="issue" scope="page" value="${viewmodel.issue}" />
universe@75 33
universe@131 34 <%-- TODO: change to ./issues/commit --%>
universe@131 35 <form action="./projects/commit-issue" method="post">
universe@124 36 <table class="formtable fullwidth">
universe@75 37 <colgroup>
universe@75 38 <col>
universe@124 39 <col style="width: 100%">
universe@75 40 </colgroup>
universe@75 41 <tbody>
universe@113 42 <c:if test="${viewmodel.issue.id ge 0}">
universe@75 43 <tr>
universe@108 44 <th><fmt:message key="issue.id"/></th>
universe@108 45 <td>${issue.id}</td>
universe@108 46 </tr>
universe@113 47 </c:if>
universe@108 48 <tr>
universe@82 49 <th><fmt:message key="issue.project"/></th>
universe@76 50 <td>
universe@86 51 <c:choose>
universe@86 52 <c:when test="${not empty issue.project}">
universe@86 53 <c:out value="${issue.project.name}" />
universe@86 54 <input type="hidden" name="pid" value="${issue.project.id}" />
universe@86 55 </c:when>
universe@86 56 <c:otherwise>
universe@86 57 <select name="pid" required>
universe@86 58 <c:forEach var="project" items="${viewmodel.projects}">
universe@86 59 <option value="${project.id}">
universe@86 60 <c:out value="${project.name}" />
universe@86 61 </option>
universe@86 62 </c:forEach>
universe@86 63 </select>
universe@86 64 </c:otherwise>
universe@86 65 </c:choose>
universe@76 66 </td>
universe@76 67 </tr>
universe@76 68 <tr>
universe@103 69 <th><fmt:message key="issue.created"/></th>
universe@103 70 <td><fmt:formatDate value="${issue.created}" /></td>
universe@103 71 </tr>
universe@103 72 <tr>
universe@103 73 <th><fmt:message key="issue.updated"/></th>
universe@103 74 <td><fmt:formatDate value="${issue.updated}" /></td>
universe@103 75 </tr>
universe@103 76 <tr>
universe@134 77 <th><fmt:message key="issue.component"/></th>
universe@134 78 <td>
universe@134 79 <select name="component">
universe@134 80 <option value="-1"><fmt:message key="placeholder.null-component"/></option>
universe@134 81 <c:forEach var="component" items="${viewmodel.components}">
universe@134 82 <option
universe@134 83 <c:if test="${not empty issue.component and component eq issue.component}">selected</c:if>
universe@134 84 value="${component.id}"><c:out value="${component.name}"/></option>
universe@134 85 </c:forEach>
universe@134 86 </select>
universe@134 87 </td>
universe@134 88 </tr>
universe@134 89 <tr>
universe@82 90 <th><fmt:message key="issue.category"/></th>
universe@75 91 <td>
universe@75 92 <select name="category">
universe@86 93 <c:forEach var="category" items="${viewmodel.issueCategory}">
universe@75 94 <option
universe@75 95 <c:if test="${category eq issue.category}">selected</c:if>
universe@75 96 value="${category}">
universe@75 97 <fmt:message key="issue.category.${category}" />
universe@75 98 </option>
universe@75 99 </c:forEach>
universe@75 100 </select>
universe@75 101 </td>
universe@75 102 </tr>
universe@75 103 <tr>
universe@82 104 <th><fmt:message key="issue.status"/></th>
universe@75 105 <td>
universe@75 106 <select name="status">
universe@86 107 <c:forEach var="status" items="${viewmodel.issueStatus}">
universe@75 108 <option
universe@75 109 <c:if test="${status eq issue.status}">selected</c:if>
universe@75 110 value="${status}">
universe@75 111 <fmt:message key="issue.status.${status}" />
universe@75 112 </option>
universe@75 113 </c:forEach>
universe@75 114 </select>
universe@75 115 </td>
universe@75 116 </tr>
universe@75 117 <tr>
universe@82 118 <th><fmt:message key="issue.subject"/></th>
universe@85 119 <td><input name="subject" type="text" maxlength="200" required value="<c:out value="${issue.subject}"/>" /></td>
universe@75 120 </tr>
universe@75 121 <tr>
universe@82 122 <th class="vtop"><fmt:message key="issue.description"/></th>
universe@75 123 <td>
universe@86 124 <textarea name="description" rows="10"><c:out value="${issue.description}"/></textarea>
universe@75 125 </td>
universe@75 126 </tr>
universe@75 127 <tr>
universe@82 128 <th><fmt:message key="issue.assignee"/></th>
universe@75 129 <td>
universe@75 130 <select name="assignee">
universe@75 131 <option value="-1"><fmt:message key="placeholder.null-assignee"/></option>
universe@86 132 <c:forEach var="user" items="${viewmodel.users}">
universe@75 133 <option
universe@75 134 <c:if test="${not empty issue.assignee and user eq issue.assignee}">selected</c:if>
universe@75 135 value="${user.id}"><c:out value="${user.displayname}"/></option>
universe@75 136 </c:forEach>
universe@75 137 </select>
universe@75 138 </td>
universe@75 139 </tr>
universe@83 140 <c:if test="${issue.project.id ge 0}">
universe@75 141 <tr>
universe@83 142 <th class="vtop"><fmt:message key="issue.affected-versions"/></th>
universe@83 143 <td>
universe@83 144 <c:set var="fieldname" value="affected"/>
universe@90 145 <c:set var="selectionList" value="${viewmodel.versionsRecent}"/>
universe@83 146 <c:set var="data" value="${issue.affectedVersions}" />
universe@115 147 <%@include file="../jspf/version-list.jspf"%>
universe@83 148 </td>
universe@75 149 </tr>
universe@75 150 <tr>
universe@83 151 <th class="vtop"><fmt:message key="issue.resolved-versions"/></th>
universe@83 152 <td>
universe@83 153 <c:set var="fieldname" value="resolved"/>
universe@90 154 <c:set var="selectionList" value="${viewmodel.versionsUpcoming}"/>
universe@83 155 <c:set var="data" value="${issue.resolvedVersions}" />
universe@115 156 <%@include file="../jspf/version-list.jspf"%>
universe@83 157 </td>
universe@75 158 </tr>
universe@83 159 </c:if>
universe@75 160 <tr>
universe@82 161 <th><fmt:message key="issue.eta"/></th>
universe@75 162 <td><input name="eta" type="date" value="<fmt:formatDate value="${issue.eta}" pattern="YYYY-MM-dd" />" /> </td>
universe@75 163 </tr>
universe@75 164 </tbody>
universe@75 165 <tfoot>
universe@75 166 <tr>
universe@75 167 <td colspan="2">
universe@75 168 <input type="hidden" name="id" value="${issue.id}"/>
universe@131 169 <%-- TODO: fix #14 --%>
universe@134 170 <a href="./projects/${issue.project.node}/versions/" class="button">
universe@75 171 <fmt:message bundle="${lightpit_bundle}" key="button.cancel"/>
universe@75 172 </a>
universe@75 173 <button type="submit"><fmt:message bundle="${lightpit_bundle}" key="button.okay"/></button>
universe@75 174 </td>
universe@75 175 </tr>
universe@75 176 </tfoot>
universe@75 177 </table>
universe@75 178 </form>
universe@124 179 <hr class="comments-separator"/>
universe@124 180 <h2><fmt:message key="issue.comments"/></h2>
universe@124 181 <c:if test="${viewmodel.issue.id ge 0}">
universe@131 182 <form id="comment-form" action="./projects/commit-issue-comment" method="post">
universe@124 183 <table class="formtable fullwidth">
universe@124 184 <tbody>
universe@124 185 <tr>
universe@125 186 <td><textarea rows="5" name="comment" required></textarea></td>
universe@124 187 </tr>
universe@124 188 </tbody>
universe@124 189 <tfoot>
universe@124 190 <tr>
universe@124 191 <td>
universe@124 192 <input type="hidden" name="issueid" value="${issue.id}"/>
universe@124 193 <button type="submit"><fmt:message key="button.comment"/></button>
universe@124 194 </td>
universe@124 195 </tr>
universe@124 196 </tfoot>
universe@124 197 </table>
universe@124 198 </form>
universe@124 199 <c:forEach var="comment" items="${viewmodel.comments}">
universe@124 200 <div class="comment">
universe@124 201 <div class="caption">
universe@124 202 <c:if test="${not empty comment.author}">
universe@124 203 <c:out value="${comment.author.displayname}"/>
universe@124 204 </c:if>
universe@124 205 <c:if test="${empty comment.author}">
universe@124 206 <fmt:message key="issue.comments.anonauthor"/>
universe@124 207 </c:if>
universe@124 208 </div>
universe@124 209 <div class="smalltext">
universe@124 210 <fmt:formatDate type="BOTH" value="${comment.created}" />
universe@124 211 <c:if test="${comment.updateCount gt 0}">
universe@124 212 <!-- TODO: update count -->
universe@124 213 </c:if>
universe@124 214 </div>
universe@124 215 <div class="medskip">
universe@124 216 <c:out value="${comment.comment}"/>
universe@124 217 </div>
universe@124 218 </div>
universe@124 219 </c:forEach>
universe@124 220 </c:if>
universe@124 221

mercurial