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="projects" type="java.util.List<de.uapcore.lightpit.entities.Project>" scope="request" /> |
31 <jsp:useBean id="viewmodel" type="de.uapcore.lightpit.viewmodel.IssueEditView" scope="request"/> |
32 <jsp:useBean id="versions" type="java.util.List<de.uapcore.lightpit.entities.Version>" scope="request" /> |
32 <c:set var="issue" scope="page" value="${viewmodel.issue}" /> |
33 <jsp:useBean id="issue" type="de.uapcore.lightpit.entities.Issue" scope="request"/> |
33 <c:set var="versions" value="${viewmodel.versions}" /> |
34 <jsp:useBean id="issueStatusEnum" type="de.uapcore.lightpit.entities.IssueStatus[]" scope="request"/> |
|
35 <jsp:useBean id="issueCategoryEnum" type="de.uapcore.lightpit.entities.IssueCategory[]" scope="request"/> |
|
36 <jsp:useBean id="users" type="java.util.List<de.uapcore.lightpit.entities.User>" scope="request"/> |
|
37 |
34 |
38 <form action="./projects/issues/commit" method="post"> |
35 <form action="./projects/issues/commit" method="post"> |
39 <table class="formtable"> |
36 <table class="formtable"> |
40 <colgroup> |
37 <colgroup> |
41 <col> |
38 <col> |
43 </colgroup> |
40 </colgroup> |
44 <tbody> |
41 <tbody> |
45 <tr> |
42 <tr> |
46 <th><fmt:message key="issue.project"/></th> |
43 <th><fmt:message key="issue.project"/></th> |
47 <td> |
44 <td> |
48 <c:if test="${issue.project.id ge 0}"> |
45 <c:choose> |
49 <c:out value="${issue.project.name}" /> |
46 <c:when test="${not empty issue.project}"> |
50 <input type="hidden" name="pid" value="${issue.project.id}" /> |
47 <c:out value="${issue.project.name}" /> |
51 </c:if> |
48 <input type="hidden" name="pid" value="${issue.project.id}" /> |
52 <c:if test="${empty issue.project or issue.project.id lt 0}"> |
49 </c:when> |
53 <select name="pid" required> |
50 <c:otherwise> |
54 <c:forEach var="project" items="${projects}"> |
51 <select name="pid" required> |
55 <option value="${project.id}"> |
52 <c:forEach var="project" items="${viewmodel.projects}"> |
56 <c:out value="${project.name}" /> |
53 <option value="${project.id}"> |
57 </option> |
54 <c:out value="${project.name}" /> |
58 </c:forEach> |
55 </option> |
59 </select> |
56 </c:forEach> |
60 </c:if> |
57 </select> |
|
58 </c:otherwise> |
|
59 </c:choose> |
61 </td> |
60 </td> |
62 </tr> |
61 </tr> |
63 <tr> |
62 <tr> |
64 <th><fmt:message key="issue.category"/></th> |
63 <th><fmt:message key="issue.category"/></th> |
65 <td> |
64 <td> |
66 <select name="category"> |
65 <select name="category"> |
67 <c:forEach var="category" items="${issueCategoryEnum}"> |
66 <c:forEach var="category" items="${viewmodel.issueCategory}"> |
68 <option |
67 <option |
69 <c:if test="${category eq issue.category}">selected</c:if> |
68 <c:if test="${category eq issue.category}">selected</c:if> |
70 value="${category}"> |
69 value="${category}"> |
71 <fmt:message key="issue.category.${category}" /> |
70 <fmt:message key="issue.category.${category}" /> |
72 </option> |
71 </option> |
76 </tr> |
75 </tr> |
77 <tr> |
76 <tr> |
78 <th><fmt:message key="issue.status"/></th> |
77 <th><fmt:message key="issue.status"/></th> |
79 <td> |
78 <td> |
80 <select name="status"> |
79 <select name="status"> |
81 <c:forEach var="status" items="${issueStatusEnum}"> |
80 <c:forEach var="status" items="${viewmodel.issueStatus}"> |
82 <option |
81 <option |
83 <c:if test="${status eq issue.status}">selected</c:if> |
82 <c:if test="${status eq issue.status}">selected</c:if> |
84 value="${status}"> |
83 value="${status}"> |
85 <fmt:message key="issue.status.${status}" /> |
84 <fmt:message key="issue.status.${status}" /> |
86 </option> |
85 </option> |
93 <td><input name="subject" type="text" maxlength="200" required value="<c:out value="${issue.subject}"/>" /></td> |
92 <td><input name="subject" type="text" maxlength="200" required value="<c:out value="${issue.subject}"/>" /></td> |
94 </tr> |
93 </tr> |
95 <tr> |
94 <tr> |
96 <th class="vtop"><fmt:message key="issue.description"/></th> |
95 <th class="vtop"><fmt:message key="issue.description"/></th> |
97 <td> |
96 <td> |
98 <textarea name="description"><c:out value="${issue.description}"/></textarea> |
97 <textarea name="description" rows="10"><c:out value="${issue.description}"/></textarea> |
99 </td> |
98 </td> |
100 </tr> |
99 </tr> |
101 <tr> |
100 <tr> |
102 <th><fmt:message key="issue.assignee"/></th> |
101 <th><fmt:message key="issue.assignee"/></th> |
103 <td> |
102 <td> |
104 <select name="assignee"> |
103 <select name="assignee"> |
105 <option value="-1"><fmt:message key="placeholder.null-assignee"/></option> |
104 <option value="-1"><fmt:message key="placeholder.null-assignee"/></option> |
106 <c:forEach var="user" items="${users}"> |
105 <c:forEach var="user" items="${viewmodel.users}"> |
107 <option |
106 <option |
108 <c:if test="${not empty issue.assignee and user eq issue.assignee}">selected</c:if> |
107 <c:if test="${not empty issue.assignee and user eq issue.assignee}">selected</c:if> |
109 value="${user.id}"><c:out value="${user.displayname}"/></option> |
108 value="${user.id}"><c:out value="${user.displayname}"/></option> |
110 </c:forEach> |
109 </c:forEach> |
111 </select> |
110 </select> |