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

changeset 75
33b6843fdf8a
child 76
82f71fb1758a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main/webapp/WEB-INF/jsp/issue-form.jsp	Fri May 22 21:23:57 2020 +0200
@@ -0,0 +1,162 @@
+<%--
+DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+
+Copyright 2018 Mike Becker. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright
+notice, this list of conditions and the following disclaimer in the
+documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+--%>
+<%@page pageEncoding="UTF-8" %>
+<%@page import="de.uapcore.lightpit.Constants" %>
+<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
+<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
+
+<c:set scope="page" var="moduleInfo" value="${requestScope[Constants.REQ_ATTR_MODULE_INFO]}"/>
+
+<jsp:useBean id="issue" type="de.uapcore.lightpit.entities.Issue" scope="request"/>
+<jsp:useBean id="issueStatusEnum" type="de.uapcore.lightpit.entities.IssueStatus[]" scope="request"/>
+<jsp:useBean id="issueCategoryEnum" type="de.uapcore.lightpit.entities.IssueCategory[]" scope="request"/>
+<jsp:useBean id="versions" type="java.util.List<de.uapcore.lightpit.entities.Version>" scope="request"/>
+<jsp:useBean id="users" type="java.util.List<de.uapcore.lightpit.entities.User>" scope="request"/>
+
+<form action="./${moduleInfo.modulePath}/issues/commit" method="post">
+    <table class="formtable">
+        <colgroup>
+            <col>
+            <col style="width: 75ch">
+        </colgroup>
+        <tbody>
+        <tr>
+            <th><fmt:message key="thead.issue.category"/></th>
+            <td>
+                <select name="category">
+                    <c:forEach var="category" items="${issueCategoryEnum}">
+                        <option
+                                <c:if test="${category eq issue.category}">selected</c:if>
+                                value="${category}">
+                            <fmt:message key="issue.category.${category}" />
+                        </option>
+                    </c:forEach>
+                </select>
+            </td>
+        </tr>
+        <tr>
+            <th><fmt:message key="thead.issue.status"/></th>
+            <td>
+                <select name="status">
+                    <c:forEach var="status" items="${issueStatusEnum}">
+                        <option
+                                <c:if test="${status eq issue.status}">selected</c:if>
+                                value="${status}">
+                                <fmt:message key="issue.status.${status}" />
+                        </option>
+                    </c:forEach>
+                </select>
+            </td>
+        </tr>
+        <tr>
+            <th><fmt:message key="thead.issue.subject"/></th>
+            <td><input name="subject" type="text" maxlength="20" required value="<c:out value="${issue.subject}"/>" /></td>
+        </tr>
+        <tr>
+            <th class="vtop"><fmt:message key="thead.issue.description"/></th>
+            <td>
+                <textarea name="description"><c:out value="${issue.description}"/></textarea>
+            </td>
+        </tr>
+        <tr>
+            <th><fmt:message key="thead.issue.assignee"/></th>
+            <td>
+                <select name="assignee">
+                    <option value="-1"><fmt:message key="placeholder.null-assignee"/></option>
+                    <c:forEach var="user" items="${users}">
+                        <option
+                                <c:if test="${not empty issue.assignee and user eq issue.assignee}">selected</c:if>
+                                value="${user.id}"><c:out value="${user.displayname}"/></option>
+                    </c:forEach>
+                </select>
+            </td>
+        </tr>
+        <tr>
+            <th>
+                <c:choose>
+                    <c:when test="${issue.affectedVersions.size() gt 1}">
+                        <fmt:message key="thead.issue.affected-versions"/>
+                    </c:when>
+                    <c:otherwise>
+                        <fmt:message key="thead.issue.affected-version"/>
+                    </c:otherwise>
+                </c:choose>
+            </th>
+            <td>TODO</td>
+        </tr>
+        <tr>
+            <th>
+                <c:choose>
+                    <c:when test="${issue.scheduledVersions.size() gt 1}">
+                        <fmt:message key="thead.issue.scheduled-versions"/>
+                    </c:when>
+                    <c:otherwise>
+                        <fmt:message key="thead.issue.scheduled-version"/>
+                    </c:otherwise>
+                </c:choose>
+            </th>
+            <td>TODO</td>
+        </tr>
+        <tr>
+            <th>
+                <c:choose>
+                    <c:when test="${issue.resolvedVersions.size() gt 1}">
+                        <fmt:message key="thead.issue.resolved-versions"/>
+                    </c:when>
+                    <c:otherwise>
+                        <fmt:message key="thead.issue.resolved-version"/>
+                    </c:otherwise>
+                </c:choose>
+            </th>
+            <td>TODO</td>
+        </tr>
+        <tr>
+            <th><fmt:message key="thead.issue.eta"/></th>
+            <td><input name="eta" type="date" value="<fmt:formatDate value="${issue.eta}" pattern="YYYY-MM-dd" />" /> </td>
+        </tr>
+        <tr>
+            <th><fmt:message key="thead.issue.created"/></th>
+            <td><fmt:formatDate value="${issue.created}" /></td>
+        </tr>
+        <tr>
+            <th><fmt:message key="thead.issue.updated"/></th>
+            <td><fmt:formatDate value="${issue.updated}" /></td>
+        </tr>
+        </tbody>
+        <tfoot>
+        <tr>
+            <td colspan="2">
+                <input type="hidden" name="id" value="${issue.id}"/>
+                <a href="./${moduleInfo.modulePath}/view?pid=${issue.project.id}" class="button">
+                    <fmt:message bundle="${lightpit_bundle}" key="button.cancel"/>
+                </a>
+                <button type="submit"><fmt:message bundle="${lightpit_bundle}" key="button.okay"/></button>
+            </td>
+        </tr>
+        </tfoot>
+    </table>
+</form>

mercurial