Fri, 22 May 2020 17:26:27 +0200
removes that dynamic_fragment bullshit
1.1 --- a/src/main/java/de/uapcore/lightpit/AbstractLightPITServlet.java Fri May 22 17:19:09 2020 +0200 1.2 +++ b/src/main/java/de/uapcore/lightpit/AbstractLightPITServlet.java Fri May 22 17:26:27 2020 +0200 1.3 @@ -228,20 +228,17 @@ 1.4 } 1.5 1.6 /** 1.7 - * Sets the name of the dynamic fragment. 1.8 + * Sets the name of the content page. 1.9 * <p> 1.10 * It is sufficient to specify the name without any extension. The extension 1.11 * is added automatically if not specified. 1.12 - * <p> 1.13 - * The fragment must be located in the dynamic fragments folder. 1.14 * 1.15 - * @param req the servlet request object 1.16 - * @param fragmentName the name of the fragment 1.17 - * @see Constants#DYN_FRAGMENT_PATH_PREFIX 1.18 - * @see Constants#REQ_ATTR_FRAGMENT 1.19 + * @param req the servlet request object 1.20 + * @param pageName the name of the content page 1.21 + * @see Constants#REQ_ATTR_CONTENT_PAGE 1.22 */ 1.23 - protected void setDynamicFragment(HttpServletRequest req, String fragmentName) { 1.24 - req.setAttribute(Constants.REQ_ATTR_FRAGMENT, Functions.dynFragmentPath(fragmentName)); 1.25 + protected void setContentPage(HttpServletRequest req, String pageName) { 1.26 + req.setAttribute(Constants.REQ_ATTR_CONTENT_PAGE, Functions.jspPath(pageName)); 1.27 } 1.28 1.29 /**
2.1 --- a/src/main/java/de/uapcore/lightpit/Constants.java Fri May 22 17:19:09 2020 +0200 2.2 +++ b/src/main/java/de/uapcore/lightpit/Constants.java Fri May 22 17:26:27 2020 +0200 2.3 @@ -36,11 +36,15 @@ 2.4 * Constants with (class) local scope are defined in their respective classes. 2.5 */ 2.6 public final class Constants { 2.7 + /** 2.8 + * The path where the JSP files reside. 2.9 + */ 2.10 public static final String JSP_PATH_PREFIX = "/WEB-INF/jsp/"; 2.11 2.12 - public static final String DYN_FRAGMENT_PATH_PREFIX = "/WEB-INF/dynamic_fragments/"; 2.13 - 2.14 - public static final String DYN_FRAGMENT_COMMIT_SUCCESSFUL = "commit-successful"; 2.15 + /** 2.16 + * The name of the generic JSP page that is displayed after a successful commit. 2.17 + */ 2.18 + public static final String JSP_COMMIT_SUCCESSFUL = "commit-successful"; 2.19 2.20 /** 2.21 * Name for the context parameter specifying the available languages. 2.22 @@ -83,9 +87,9 @@ 2.23 public static final String REQ_ATTR_PATH = fqn(AbstractLightPITServlet.class, "path"); 2.24 2.25 /** 2.26 - * Key for the name of the fragment which should be rendered. 2.27 + * Key for the name of the page which should be rendered. 2.28 */ 2.29 - public static final String REQ_ATTR_FRAGMENT = fqn(AbstractLightPITServlet.class, "fragment"); 2.30 + public static final String REQ_ATTR_CONTENT_PAGE = fqn(AbstractLightPITServlet.class, "content-page"); 2.31 2.32 /** 2.33 * Key for the name of the additional stylesheet used by a module.
3.1 --- a/src/main/java/de/uapcore/lightpit/Functions.java Fri May 22 17:19:09 2020 +0200 3.2 +++ b/src/main/java/de/uapcore/lightpit/Functions.java Fri May 22 17:26:27 2020 +0200 3.3 @@ -54,10 +54,6 @@ 3.4 return enforceExt(Constants.JSP_PATH_PREFIX + filename, ".jsp"); 3.5 } 3.6 3.7 - public static String dynFragmentPath(String filename) { 3.8 - return enforceExt(Constants.DYN_FRAGMENT_PATH_PREFIX + filename, ".jsp"); 3.9 - } 3.10 - 3.11 public static String fqn(String base, String name) { 3.12 return base + "." + name; 3.13 }
4.1 --- a/src/main/java/de/uapcore/lightpit/modules/ErrorModule.java Fri May 22 17:19:09 2020 +0200 4.2 +++ b/src/main/java/de/uapcore/lightpit/modules/ErrorModule.java Fri May 22 17:26:27 2020 +0200 4.3 @@ -59,7 +59,7 @@ 4.4 ); 4.5 4.6 setStylesheet(req, "error"); 4.7 - setDynamicFragment(req, "error"); 4.8 + setContentPage(req, "error"); 4.9 4.10 return ResponseType.HTML; 4.11 }
5.1 --- a/src/main/java/de/uapcore/lightpit/modules/LanguageModule.java Fri May 22 17:19:09 2020 +0200 5.2 +++ b/src/main/java/de/uapcore/lightpit/modules/LanguageModule.java Fri May 22 17:26:27 2020 +0200 5.3 @@ -91,7 +91,7 @@ 5.4 req.setAttribute("browserLanguage", req.getLocale()); 5.5 5.6 setStylesheet(req, "language"); 5.7 - setDynamicFragment(req, "language"); 5.8 + setContentPage(req, "language"); 5.9 return ResponseType.HTML; 5.10 } 5.11
6.1 --- a/src/main/java/de/uapcore/lightpit/modules/ProjectsModule.java Fri May 22 17:19:09 2020 +0200 6.2 +++ b/src/main/java/de/uapcore/lightpit/modules/ProjectsModule.java Fri May 22 17:26:27 2020 +0200 6.3 @@ -111,7 +111,7 @@ 6.4 6.5 final var projectList = dao.getProjectDao().list(); 6.6 req.setAttribute("projects", projectList); 6.7 - setDynamicFragment(req, "projects"); 6.8 + setContentPage(req, "projects"); 6.9 setStylesheet(req, "projects"); 6.10 6.11 final var selectedProject = getSelectedProject(req, dao); 6.12 @@ -130,7 +130,7 @@ 6.13 } 6.14 6.15 req.setAttribute("users", dao.getUserDao().list()); 6.16 - setDynamicFragment(req, "project-form"); 6.17 + setContentPage(req, "project-form"); 6.18 } 6.19 6.20 @RequestMapping(requestPath = "edit", method = HttpMethod.GET) 6.21 @@ -161,7 +161,7 @@ 6.22 dao.getProjectDao().saveOrUpdate(project); 6.23 6.24 setRedirectLocation(req, "./projects/"); 6.25 - setDynamicFragment(req, Constants.DYN_FRAGMENT_COMMIT_SUCCESSFUL); 6.26 + setContentPage(req, Constants.JSP_COMMIT_SUCCESSFUL); 6.27 LOG.debug("Successfully updated project {}", project.getName()); 6.28 } catch (NoSuchElementException | NumberFormatException | SQLException ex) { 6.29 // TODO: set request attribute with error text 6.30 @@ -187,7 +187,7 @@ 6.31 // TODO: add more levels depending on last visited location 6.32 setBreadcrumbs(req, getBreadcrumbs(1, selectedProject)); 6.33 6.34 - setDynamicFragment(req, "project-details"); 6.35 + setContentPage(req, "project-details"); 6.36 6.37 return ResponseType.HTML; 6.38 } 6.39 @@ -196,7 +196,7 @@ 6.40 req.setAttribute("version", version.orElse(new Version(-1, selectedProject))); 6.41 req.setAttribute("versionStatusEnum", VersionStatus.values()); 6.42 6.43 - setDynamicFragment(req, "version-form"); 6.44 + setContentPage(req, "version-form"); 6.45 } 6.46 6.47 @RequestMapping(requestPath = "versions/edit", method = HttpMethod.GET) 6.48 @@ -231,7 +231,7 @@ 6.49 dao.getVersionDao().saveOrUpdate(version); 6.50 6.51 setRedirectLocation(req, "./projects/versions/"); 6.52 - setDynamicFragment(req, Constants.DYN_FRAGMENT_COMMIT_SUCCESSFUL); 6.53 + setContentPage(req, Constants.JSP_COMMIT_SUCCESSFUL); 6.54 LOG.debug("Successfully updated version {} for project {}", version.getName(), selectedProject.getName()); 6.55 } catch (NoSuchElementException | NumberFormatException | SQLException ex) { 6.56 // TODO: set request attribute with error text 6.57 @@ -250,7 +250,7 @@ 6.58 req.setAttribute("issueCategoryEnum", IssueCategory.values()); 6.59 req.setAttribute("versions", dao.getVersionDao().list(selectedProject)); 6.60 6.61 - setDynamicFragment(req, "issue-form"); 6.62 + setContentPage(req, "issue-form"); 6.63 } 6.64 6.65 @RequestMapping(requestPath = "issues/edit", method = HttpMethod.GET) 6.66 @@ -285,7 +285,7 @@ 6.67 dao.getIssueDao().saveOrUpdate(issue); 6.68 6.69 setRedirectLocation(req, "./projects/issues/"); 6.70 - setDynamicFragment(req, Constants.DYN_FRAGMENT_COMMIT_SUCCESSFUL); 6.71 + setContentPage(req, Constants.JSP_COMMIT_SUCCESSFUL); 6.72 LOG.debug("Successfully updated issue {} for project {}", issue.getId(), selectedProject.getName()); 6.73 } catch (NoSuchElementException | NumberFormatException | SQLException ex) { 6.74 // TODO: set request attribute with error text
7.1 --- a/src/main/java/de/uapcore/lightpit/modules/UsersModule.java Fri May 22 17:19:09 2020 +0200 7.2 +++ b/src/main/java/de/uapcore/lightpit/modules/UsersModule.java Fri May 22 17:26:27 2020 +0200 7.3 @@ -58,7 +58,7 @@ 7.4 final var userDao = dao.getUserDao(); 7.5 7.6 req.setAttribute("users", userDao.list()); 7.7 - setDynamicFragment(req, "users"); 7.8 + setContentPage(req, "users"); 7.9 7.10 return ResponseType.HTML; 7.11 } 7.12 @@ -69,7 +69,7 @@ 7.13 req.setAttribute("user", findByParameter(req, Integer.class, "id", 7.14 dao.getUserDao()::find).orElse(new User(-1))); 7.15 7.16 - setDynamicFragment(req, "user-form"); 7.17 + setContentPage(req, "user-form"); 7.18 7.19 return ResponseType.HTML; 7.20 } 7.21 @@ -88,13 +88,13 @@ 7.22 dao.getUserDao().saveOrUpdate(user); 7.23 7.24 setRedirectLocation(req, "./teams/"); 7.25 - setDynamicFragment(req, Constants.DYN_FRAGMENT_COMMIT_SUCCESSFUL); 7.26 + setContentPage(req, Constants.JSP_COMMIT_SUCCESSFUL); 7.27 7.28 LOG.debug("Successfully updated user {}", user.getUsername()); 7.29 } catch (NoSuchElementException | NumberFormatException | SQLException ex) { 7.30 // TODO: set request attribute with error text 7.31 req.setAttribute("user", user); 7.32 - setDynamicFragment(req, "user-form"); 7.33 + setContentPage(req, "user-form"); 7.34 LOG.warn("Form validation failure: {}", ex.getMessage()); 7.35 LOG.debug("Details:", ex); 7.36 }
8.1 --- a/src/main/webapp/WEB-INF/dynamic_fragments/commit-successful.jsp Fri May 22 17:19:09 2020 +0200 8.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 8.3 @@ -1,34 +0,0 @@ 8.4 -<%-- 8.5 -DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 8.6 - 8.7 -Copyright 2018 Mike Becker. All rights reserved. 8.8 - 8.9 -Redistribution and use in source and binary forms, with or without 8.10 -modification, are permitted provided that the following conditions are met: 8.11 - 8.12 -1. Redistributions of source code must retain the above copyright 8.13 -notice, this list of conditions and the following disclaimer. 8.14 - 8.15 -2. Redistributions in binary form must reproduce the above copyright 8.16 -notice, this list of conditions and the following disclaimer in the 8.17 -documentation and/or other materials provided with the distribution. 8.18 - 8.19 -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 8.20 -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 8.21 -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 8.22 -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 8.23 -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 8.24 -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 8.25 -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 8.26 -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 8.27 -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 8.28 -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 8.29 ---%> 8.30 -<%@page pageEncoding="UTF-8" %> 8.31 -<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 8.32 -<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 8.33 - 8.34 -<c:set scope="page" var="redirectLocation" value="${requestScope[Constants.REQ_ATTR_REDIRECT_LOCATION]}"/> 8.35 - 8.36 -<fmt:message bundle="${lightpit_bundle}" key="commit.success"/> 8.37 -<fmt:message bundle="${lightpit_bundle}" key="commit.redirect-link"/>
9.1 --- a/src/main/webapp/WEB-INF/dynamic_fragments/error.jsp Fri May 22 17:19:09 2020 +0200 9.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 9.3 @@ -1,67 +0,0 @@ 9.4 -<%-- 9.5 -DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 9.6 - 9.7 -Copyright 2018 Mike Becker. All rights reserved. 9.8 - 9.9 -Redistribution and use in source and binary forms, with or without 9.10 -modification, are permitted provided that the following conditions are met: 9.11 - 9.12 -1. Redistributions of source code must retain the above copyright 9.13 -notice, this list of conditions and the following disclaimer. 9.14 - 9.15 -2. Redistributions in binary form must reproduce the above copyright 9.16 -notice, this list of conditions and the following disclaimer in the 9.17 -documentation and/or other materials provided with the distribution. 9.18 - 9.19 -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 9.20 -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 9.21 -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 9.22 -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 9.23 -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 9.24 -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 9.25 -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 9.26 -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 9.27 -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 9.28 -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 9.29 ---%> 9.30 -<%@page pageEncoding="UTF-8" %> 9.31 -<%@page import="de.uapcore.lightpit.Constants" %> 9.32 -<%@page import="de.uapcore.lightpit.modules.ErrorModule" %> 9.33 -<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 9.34 -<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 9.35 -<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> 9.36 - 9.37 -<c:set scope="page" var="baseHref" value="${requestScope[Constants.REQ_ATTR_BASE_HREF]}"/> 9.38 -<c:set scope="page" var="errorCode" value="${requestScope['javax.servlet.error.status_code']}"/> 9.39 -<c:set scope="page" var="returnLink" value="${requestScope[ErrorModule.REQ_ATTR_RETURN_LINK]}"/> 9.40 - 9.41 -<div id="error-page"> 9.42 - <h1><fmt:message key="h1"/></h1> 9.43 - <table> 9.44 - <tr> 9.45 - <th><fmt:message key="errorCode"/>:</th> 9.46 - <td>${errorCode} - <fmt:message key="code.${errorCode}"/></td> 9.47 - </tr> 9.48 - <tr> 9.49 - <th><fmt:message key="errorMessage"/>:</th> 9.50 - <td><c:out value="${requestScope['javax.servlet.error.message']}"/></td> 9.51 - </tr> 9.52 - <tr> 9.53 - <th><fmt:message key="errorTimestamp"/>:</th> 9.54 - <td><fmt:formatDate type="both" value="<%= new java.util.Date()%>"/></td> 9.55 - </tr> 9.56 - <%--@elvariable id="exception" type="java.lang.Exception"--%> 9.57 - <c:if test="${not empty exception}"> 9.58 - <tr> 9.59 - <th><fmt:message key="errorExceptionText"/>:</th> 9.60 - <td>${exception['class'].name} - ${exception.message}</td> 9.61 - </tr> 9.62 - </c:if> 9.63 - <c:if test="${fn:startsWith(returnLink, baseHref)}"> 9.64 - <tr> 9.65 - <th><fmt:message key="errorReturnLink"/>:</th> 9.66 - <td><a href="${returnLink}">${returnLink}</a></td> 9.67 - </tr> 9.68 - </c:if> 9.69 - </table> 9.70 -</div>
10.1 --- a/src/main/webapp/WEB-INF/dynamic_fragments/language.jsp Fri May 22 17:19:09 2020 +0200 10.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 10.3 @@ -1,52 +0,0 @@ 10.4 -<%-- 10.5 -DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 10.6 - 10.7 -Copyright 2018 Mike Becker. All rights reserved. 10.8 - 10.9 -Redistribution and use in source and binary forms, with or without 10.10 -modification, are permitted provided that the following conditions are met: 10.11 - 10.12 -1. Redistributions of source code must retain the above copyright 10.13 -notice, this list of conditions and the following disclaimer. 10.14 - 10.15 -2. Redistributions in binary form must reproduce the above copyright 10.16 -notice, this list of conditions and the following disclaimer in the 10.17 -documentation and/or other materials provided with the distribution. 10.18 - 10.19 -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 10.20 -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 10.21 -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 10.22 -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 10.23 -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 10.24 -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 10.25 -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 10.26 -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 10.27 -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 10.28 -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 10.29 ---%> 10.30 -<%@page pageEncoding="UTF-8" %> 10.31 -<%@page import="de.uapcore.lightpit.Constants" %> 10.32 -<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 10.33 -<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 10.34 - 10.35 -<jsp:useBean id="languages" type="java.util.List<java.util.Locale>" scope="request"/> 10.36 -<jsp:useBean id="browserLanguage" type="java.util.Locale" scope="request"/> 10.37 - 10.38 -<c:set scope="page" var="currentLanguage" value="${sessionScope[Constants.SESSION_ATTR_LANGUAGE]}"/> 10.39 - 10.40 -<form method="POST" id="lang-selector"> 10.41 - <c:forEach items="${languages}" var="l"> 10.42 - <label> 10.43 - <input type="radio" name="language" value="${l.language}" 10.44 - <c:if test="${l.language eq currentLanguage.language}">checked</c:if>/> 10.45 - ${l.displayLanguage} 10.46 - (${l.getDisplayLanguage(currentLanguage)} 10.47 - <c:if test="${not empty browserLanguage and l.language eq browserLanguage.language}"><c:set 10.48 - var="browserLanguagePresent" value="true"/> - <fmt:message key="browserLanguage"/></c:if>) 10.49 - </label> 10.50 - </c:forEach> 10.51 - <c:if test="${not browserLanguagePresent}"> 10.52 - <span class="blNA"><fmt:message key="browserLanguageNotAvailable"/></span> 10.53 - </c:if> 10.54 - <input type="submit" value="<fmt:message key="submit" />"/> 10.55 -</form>
11.1 --- a/src/main/webapp/WEB-INF/dynamic_fragments/project-details.jsp Fri May 22 17:19:09 2020 +0200 11.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 11.3 @@ -1,80 +0,0 @@ 11.4 -<%-- 11.5 -DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 11.6 - 11.7 -Copyright 2018 Mike Becker. All rights reserved. 11.8 - 11.9 -Redistribution and use in source and binary forms, with or without 11.10 -modification, are permitted provided that the following conditions are met: 11.11 - 11.12 -1. Redistributions of source code must retain the above copyright 11.13 -notice, this list of conditions and the following disclaimer. 11.14 - 11.15 -2. Redistributions in binary form must reproduce the above copyright 11.16 -notice, this list of conditions and the following disclaimer in the 11.17 -documentation and/or other materials provided with the distribution. 11.18 - 11.19 -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 11.20 -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 11.21 -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 11.22 -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 11.23 -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 11.24 -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 11.25 -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 11.26 -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 11.27 -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 11.28 -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 11.29 ---%> 11.30 -<%@page pageEncoding="UTF-8" %> 11.31 -<%@page import="de.uapcore.lightpit.Constants" %> 11.32 -<%@page import="de.uapcore.lightpit.modules.ProjectsModule" %> 11.33 -<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 11.34 -<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 11.35 - 11.36 -<c:set scope="page" var="moduleInfo" value="${requestScope[Constants.REQ_ATTR_MODULE_INFO]}"/> 11.37 -<c:set scope="page" var="selectedProject" value="${sessionScope[ProjectsModule.SESSION_ATTR_SELECTED_PROJECT]}"/> 11.38 - 11.39 -<jsp:useBean id="versions" type="java.util.List<de.uapcore.lightpit.entities.Version>" scope="request"/> 11.40 -<jsp:useBean id="issues" type="java.util.List<de.uapcore.lightpit.entities.Issue>" scope="request"/> 11.41 - 11.42 -<div id="tool-area"> 11.43 - <a href="./${moduleInfo.modulePath}/versions/edit" class="button"><fmt:message key="button.version.create"/></a> 11.44 - <a href="./${moduleInfo.modulePath}/issues/edit" class="button"><fmt:message key="button.issue.create"/></a> 11.45 -</div> 11.46 - 11.47 -<c:if test="${not empty versions}"> 11.48 - <table id="version-list" class="datatable medskip"> 11.49 - <thead> 11.50 - <tr> 11.51 - <th></th> 11.52 - <th><fmt:message key="thead.version.name"/></th> 11.53 - <th><fmt:message key="thead.version.status"/></th> 11.54 - </tr> 11.55 - </thead> 11.56 - <tbody> 11.57 - <c:forEach var="version" items="${versions}"> 11.58 - <tr class="nowrap"> 11.59 - <td style="width: 2em;"><a href="./${moduleInfo.modulePath}/versions/edit?id=${version.id}">✎</a> 11.60 - </td> 11.61 - <td><c:out value="${version.name}"/></td> 11.62 - <td><fmt:message key="version.status.${version.status}"/></td> 11.63 - </tr> 11.64 - </c:forEach> 11.65 - </tbody> 11.66 - </table> 11.67 -</c:if> 11.68 - 11.69 -<table id="issue-list" class="datatable medskip"> 11.70 - <thead> 11.71 - <tr> 11.72 - <th></th> 11.73 - <th><fmt:message key="thead.issue.subject"/></th> 11.74 - <th><fmt:message key="thead.issue.category"/></th> 11.75 - <th><fmt:message key="thead.issue.status"/></th> 11.76 - <th><fmt:message key="thead.issue.created"/></th> 11.77 - <th><fmt:message key="thead.issue.updated"/></th> 11.78 - <th><fmt:message key="thead.issue.eta"/></th> 11.79 - <!-- TODO: add other information --> 11.80 - </tr> 11.81 - </thead> 11.82 - <!-- TODO: add actual list --> 11.83 -</table>
12.1 --- a/src/main/webapp/WEB-INF/dynamic_fragments/project-form.jsp Fri May 22 17:19:09 2020 +0200 12.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 12.3 @@ -1,81 +0,0 @@ 12.4 -<%-- 12.5 -DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 12.6 - 12.7 -Copyright 2018 Mike Becker. All rights reserved. 12.8 - 12.9 -Redistribution and use in source and binary forms, with or without 12.10 -modification, are permitted provided that the following conditions are met: 12.11 - 12.12 -1. Redistributions of source code must retain the above copyright 12.13 -notice, this list of conditions and the following disclaimer. 12.14 - 12.15 -2. Redistributions in binary form must reproduce the above copyright 12.16 -notice, this list of conditions and the following disclaimer in the 12.17 -documentation and/or other materials provided with the distribution. 12.18 - 12.19 -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 12.20 -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 12.21 -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 12.22 -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 12.23 -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 12.24 -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 12.25 -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 12.26 -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 12.27 -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 12.28 -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 12.29 ---%> 12.30 -<%@page pageEncoding="UTF-8" %> 12.31 -<%@page import="de.uapcore.lightpit.Constants" %> 12.32 -<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 12.33 -<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 12.34 - 12.35 -<c:set scope="page" var="moduleInfo" value="${requestScope[Constants.REQ_ATTR_MODULE_INFO]}"/> 12.36 - 12.37 -<jsp:useBean id="project" type="de.uapcore.lightpit.entities.Project" scope="request"/> 12.38 -<jsp:useBean id="users" type="java.util.List<de.uapcore.lightpit.entities.User>" scope="request"/> 12.39 - 12.40 -<form action="./${moduleInfo.modulePath}/commit" method="post"> 12.41 - <table class="formtable"> 12.42 - <colgroup> 12.43 - <col> 12.44 - <col style="width: 75ch"> 12.45 - </colgroup> 12.46 - <tbody> 12.47 - <tr> 12.48 - <th><fmt:message key="thead.name"/></th> 12.49 - <td><input name="name" type="text" maxlength="20" required value="${project.name}"/></td> 12.50 - </tr> 12.51 - <tr> 12.52 - <th class="vtop"><fmt:message key="thead.description"/></th> 12.53 - <td><input type="text" name="description" maxlength="200" value="${project.description}"/></td> 12.54 - </tr> 12.55 - <tr> 12.56 - <th><fmt:message key="thead.repoUrl"/></th> 12.57 - <td><input name="repoUrl" type="url" maxlength="50" value="${project.repoUrl}"/></td> 12.58 - </tr> 12.59 - <tr> 12.60 - <th><fmt:message key="thead.owner"/></th> 12.61 - <td> 12.62 - <select name="owner"> 12.63 - <option value="-1"><fmt:message key="placeholder.null-owner"/></option> 12.64 - <c:forEach var="user" items="${users}"> 12.65 - <option 12.66 - <c:if test="${not empty project.owner and user.id eq project.owner.id}">selected</c:if> 12.67 - value="${user.id}"><c:out value="${user.displayname}"/></option> 12.68 - </c:forEach> 12.69 - </select> 12.70 - </td> 12.71 - </tr> 12.72 - </tbody> 12.73 - <tfoot> 12.74 - <tr> 12.75 - <td colspan="2"> 12.76 - <input type="hidden" name="id" value="${project.id}"/> 12.77 - <a href="./${moduleInfo.modulePath}/" class="button"><fmt:message bundle="${lightpit_bundle}" 12.78 - key="button.cancel"/></a> 12.79 - <button type="submit"><fmt:message bundle="${lightpit_bundle}" key="button.okay"/></button> 12.80 - </td> 12.81 - </tr> 12.82 - </tfoot> 12.83 - </table> 12.84 -</form>
13.1 --- a/src/main/webapp/WEB-INF/dynamic_fragments/projects.jsp Fri May 22 17:19:09 2020 +0200 13.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 13.3 @@ -1,87 +0,0 @@ 13.4 -<%-- 13.5 -DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 13.6 - 13.7 -Copyright 2018 Mike Becker. All rights reserved. 13.8 - 13.9 -Redistribution and use in source and binary forms, with or without 13.10 -modification, are permitted provided that the following conditions are met: 13.11 - 13.12 -1. Redistributions of source code must retain the above copyright 13.13 -notice, this list of conditions and the following disclaimer. 13.14 - 13.15 -2. Redistributions in binary form must reproduce the above copyright 13.16 -notice, this list of conditions and the following disclaimer in the 13.17 -documentation and/or other materials provided with the distribution. 13.18 - 13.19 -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 13.20 -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 13.21 -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 13.22 -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 13.23 -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 13.24 -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 13.25 -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 13.26 -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 13.27 -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 13.28 -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 13.29 ---%> 13.30 -<%@page pageEncoding="UTF-8" %> 13.31 -<%@page import="de.uapcore.lightpit.Constants" %> 13.32 -<%@page import="de.uapcore.lightpit.modules.ProjectsModule" %> 13.33 -<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 13.34 -<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 13.35 - 13.36 -<c:set scope="page" var="moduleInfo" value="${requestScope[Constants.REQ_ATTR_MODULE_INFO]}"/> 13.37 -<c:set scope="page" var="selectedProject" value="${sessionScope[ProjectsModule.SESSION_ATTR_SELECTED_PROJECT]}"/> 13.38 - 13.39 -<jsp:useBean id="projects" type="java.util.List<de.uapcore.lightpit.entities.Project>" scope="request"/> 13.40 - 13.41 -<c:if test="${empty projects}"> 13.42 - <div class="info-box"> 13.43 - <fmt:message key="no-projects"/> 13.44 - </div> 13.45 -</c:if> 13.46 - 13.47 -<div id="tool-area"> 13.48 - <a href="./${moduleInfo.modulePath}/edit" class="button"><fmt:message key="button.create"/></a> 13.49 -</div> 13.50 - 13.51 -<c:if test="${not empty projects}"> 13.52 - <table id="project-list" class="datatable medskip fullwidth"> 13.53 - <colgroup> 13.54 - <col> 13.55 - <col style="width: 10%"> 13.56 - <col style="width: 35%"> 13.57 - <col style="width: 30%"> 13.58 - <col style="width: 25%"> 13.59 - </colgroup> 13.60 - <thead> 13.61 - <tr> 13.62 - <th></th> 13.63 - <th><fmt:message key="thead.name"/></th> 13.64 - <th><fmt:message key="thead.description"/></th> 13.65 - <th><fmt:message key="thead.repoUrl"/></th> 13.66 - <th><fmt:message key="thead.owner"/></th> 13.67 - </tr> 13.68 - </thead> 13.69 - <tbody> 13.70 - <c:forEach var="project" items="${projects}"> 13.71 - <tr class="nowrap"> 13.72 - <td style="width: 2em;"><a href="./${moduleInfo.modulePath}/edit?id=${project.id}">✎</a></td> 13.73 - <td><a href="./${moduleInfo.modulePath}/view?pid=${project.id}"><c:out value="${project.name}"/></a> 13.74 - </td> 13.75 - <td><c:out value="${project.description}"/></td> 13.76 - <td> 13.77 - <c:if test="${not empty project.repoUrl}"> 13.78 - <a target="_blank" href="<c:out value="${project.repoUrl}"/>"><c:out 13.79 - value="${project.repoUrl}"/></a> 13.80 - </c:if> 13.81 - </td> 13.82 - <td> 13.83 - <c:if test="${not empty project.owner}"><c:out value="${project.owner.displayname}"/></c:if> 13.84 - <c:if test="${empty project.owner}"><fmt:message key="placeholder.null-owner"/></c:if> 13.85 - </td> 13.86 - </tr> 13.87 - </c:forEach> 13.88 - </tbody> 13.89 - </table> 13.90 -</c:if>
14.1 --- a/src/main/webapp/WEB-INF/dynamic_fragments/user-form.jsp Fri May 22 17:19:09 2020 +0200 14.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 14.3 @@ -1,72 +0,0 @@ 14.4 -<%-- 14.5 -DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 14.6 - 14.7 -Copyright 2018 Mike Becker. All rights reserved. 14.8 - 14.9 -Redistribution and use in source and binary forms, with or without 14.10 -modification, are permitted provided that the following conditions are met: 14.11 - 14.12 -1. Redistributions of source code must retain the above copyright 14.13 -notice, this list of conditions and the following disclaimer. 14.14 - 14.15 -2. Redistributions in binary form must reproduce the above copyright 14.16 -notice, this list of conditions and the following disclaimer in the 14.17 -documentation and/or other materials provided with the distribution. 14.18 - 14.19 -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 14.20 -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 14.21 -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 14.22 -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 14.23 -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 14.24 -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 14.25 -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 14.26 -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 14.27 -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 14.28 -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 14.29 ---%> 14.30 -<%@page pageEncoding="UTF-8" %> 14.31 -<%@page import="de.uapcore.lightpit.Constants" %> 14.32 -<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 14.33 -<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 14.34 - 14.35 -<c:set scope="page" var="moduleInfo" value="${requestScope[Constants.REQ_ATTR_MODULE_INFO]}"/> 14.36 - 14.37 -<jsp:useBean id="user" type="de.uapcore.lightpit.entities.User" scope="request"/> 14.38 - 14.39 -<form action="./${moduleInfo.modulePath}/commit" method="post"> 14.40 - <table class="formtable"> 14.41 - <colgroup> 14.42 - <col> 14.43 - <col style="width: 50ch"> 14.44 - </colgroup> 14.45 - <tbody> 14.46 - <tr> 14.47 - <th><fmt:message key="thead.username"/></th> 14.48 - <td><input name="username" type="text" maxlength="50" required value="${user.username}" 14.49 - <c:if test="${user.id ge 0}">readonly</c:if> /></td> 14.50 - </tr> 14.51 - <tr> 14.52 - <th><fmt:message key="thead.givenname"/></th> 14.53 - <td><input name="givenname" type="text" maxlength="50" value="${user.givenname}"/></td> 14.54 - </tr> 14.55 - <tr> 14.56 - <th><fmt:message key="thead.lastname"/></th> 14.57 - <td><input name="lastname" type="text" maxlength="50" value="${user.lastname}"/></td> 14.58 - </tr> 14.59 - <tr> 14.60 - <th><fmt:message key="thead.mail"/></th> 14.61 - <td><input name="mail" type="email" maxlength="50" value="${user.mail}"/></td> 14.62 - </tr> 14.63 - </tbody> 14.64 - <tfoot> 14.65 - <tr> 14.66 - <td colspan="2"> 14.67 - <input type="hidden" name="userid" value="${user.id}"/> 14.68 - <a href="./${moduleInfo.modulePath}/" class="button"><fmt:message bundle="${lightpit_bundle}" 14.69 - key="button.cancel"/></a> 14.70 - <button type="submit"><fmt:message bundle="${lightpit_bundle}" key="button.okay"/></button> 14.71 - </td> 14.72 - </tr> 14.73 - </tfoot> 14.74 - </table> 14.75 -</form>
15.1 --- a/src/main/webapp/WEB-INF/dynamic_fragments/users.jsp Fri May 22 17:19:09 2020 +0200 15.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 15.3 @@ -1,63 +0,0 @@ 15.4 -<%-- 15.5 -DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 15.6 - 15.7 -Copyright 2018 Mike Becker. All rights reserved. 15.8 - 15.9 -Redistribution and use in source and binary forms, with or without 15.10 -modification, are permitted provided that the following conditions are met: 15.11 - 15.12 -1. Redistributions of source code must retain the above copyright 15.13 -notice, this list of conditions and the following disclaimer. 15.14 - 15.15 -2. Redistributions in binary form must reproduce the above copyright 15.16 -notice, this list of conditions and the following disclaimer in the 15.17 -documentation and/or other materials provided with the distribution. 15.18 - 15.19 -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 15.20 -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15.21 -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 15.22 -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 15.23 -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 15.24 -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 15.25 -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 15.26 -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 15.27 -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 15.28 -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 15.29 ---%> 15.30 -<%@page pageEncoding="UTF-8" %> 15.31 -<%@page import="de.uapcore.lightpit.Constants" %> 15.32 -<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 15.33 -<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 15.34 - 15.35 -<c:set scope="page" var="moduleInfo" value="${requestScope[Constants.REQ_ATTR_MODULE_INFO]}"/> 15.36 - 15.37 -<jsp:useBean id="users" type="java.util.List<de.uapcore.lightpit.entities.User>" scope="request"/> 15.38 - 15.39 -<c:if test="${empty users}"> 15.40 - <div class="info-box"> 15.41 - <fmt:message key="no-users"/> 15.42 - </div> 15.43 -</c:if> 15.44 - 15.45 -<div id="tool-area"> 15.46 - <a href="./${moduleInfo.modulePath}/edit" class="button"><fmt:message key="button.create"/></a> 15.47 -</div> 15.48 - 15.49 -<c:if test="${not empty users}"> 15.50 - <table class="datatable medskip"> 15.51 - <thead> 15.52 - <tr> 15.53 - <th></th> 15.54 - <th><fmt:message key="thead.displayname"/></th> 15.55 - </tr> 15.56 - </thead> 15.57 - <tbody> 15.58 - <c:forEach var="user" items="${users}"> 15.59 - <tr> 15.60 - <td><a href="./${moduleInfo.modulePath}/edit?id=${user.id}">✎</a></td> 15.61 - <td><c:out value="${user.displayname}"/></td> 15.62 - </tr> 15.63 - </c:forEach> 15.64 - </tbody> 15.65 - </table> 15.66 -</c:if>
16.1 --- a/src/main/webapp/WEB-INF/dynamic_fragments/version-form.jsp Fri May 22 17:19:09 2020 +0200 16.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 16.3 @@ -1,79 +0,0 @@ 16.4 -<%-- 16.5 -DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 16.6 - 16.7 -Copyright 2018 Mike Becker. All rights reserved. 16.8 - 16.9 -Redistribution and use in source and binary forms, with or without 16.10 -modification, are permitted provided that the following conditions are met: 16.11 - 16.12 -1. Redistributions of source code must retain the above copyright 16.13 -notice, this list of conditions and the following disclaimer. 16.14 - 16.15 -2. Redistributions in binary form must reproduce the above copyright 16.16 -notice, this list of conditions and the following disclaimer in the 16.17 -documentation and/or other materials provided with the distribution. 16.18 - 16.19 -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 16.20 -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16.21 -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 16.22 -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 16.23 -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 16.24 -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 16.25 -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 16.26 -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 16.27 -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 16.28 -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 16.29 ---%> 16.30 -<%@page pageEncoding="UTF-8" %> 16.31 -<%@page import="de.uapcore.lightpit.Constants" %> 16.32 -<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 16.33 -<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 16.34 - 16.35 -<c:set scope="page" var="moduleInfo" value="${requestScope[Constants.REQ_ATTR_MODULE_INFO]}"/> 16.36 -<c:set scope="page" var="selectedProject" value="${sessionScope[ProjectsModule.SESSION_ATTR_SELECTED_PROJECT]}"/> 16.37 - 16.38 -<jsp:useBean id="version" type="de.uapcore.lightpit.entities.Version" scope="request"/> 16.39 -<jsp:useBean id="versionStatusEnum" type="de.uapcore.lightpit.entities.VersionStatus[]" scope="request"/> 16.40 - 16.41 -<form action="./${moduleInfo.modulePath}/versions/commit" method="post"> 16.42 - <table class="formtable" style="width: 35ch"> 16.43 - <colgroup> 16.44 - <col> 16.45 - <col style="width: 100%"> 16.46 - </colgroup> 16.47 - <tbody> 16.48 - <tr> 16.49 - <th><fmt:message key="thead.version.name"/></th> 16.50 - <td><input name="name" type="text" maxlength="20" required value="${version.name}"/></td> 16.51 - </tr> 16.52 - <tr> 16.53 - <th><fmt:message key="thead.version.status"/></th> 16.54 - <td> 16.55 - <select name="status" required> 16.56 - <c:forEach var="elem" items="${versionStatusEnum}"> 16.57 - <option 16.58 - <c:if test="${elem eq version.status}">selected</c:if> value="${elem}"><fmt:message 16.59 - key="version.status.${elem}"/></option> 16.60 - </c:forEach> 16.61 - </select> 16.62 - </td> 16.63 - </tr> 16.64 - <tr title="<fmt:message key="tooltip.ordinal" />"> 16.65 - <th><fmt:message key="thead.version.ordinal"/></th> 16.66 - <td> 16.67 - <input name="ordinal" type="number" min="0" value="${version.ordinal}"/> 16.68 - </td> 16.69 - </tr> 16.70 - </tbody> 16.71 - <tfoot> 16.72 - <tr> 16.73 - <td colspan="2"> 16.74 - <input type="hidden" name="id" value="${version.id}"/> 16.75 - <a href="./${moduleInfo.modulePath}/versions/" class="button"><fmt:message bundle="${lightpit_bundle}" 16.76 - key="button.cancel"/></a> 16.77 - <button type="submit"><fmt:message bundle="${lightpit_bundle}" key="button.okay"/></button> 16.78 - </td> 16.79 - </tr> 16.80 - </tfoot> 16.81 - </table> 16.82 -</form>
17.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 17.2 +++ b/src/main/webapp/WEB-INF/jsp/commit-successful.jsp Fri May 22 17:26:27 2020 +0200 17.3 @@ -0,0 +1,34 @@ 17.4 +<%-- 17.5 +DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 17.6 + 17.7 +Copyright 2018 Mike Becker. All rights reserved. 17.8 + 17.9 +Redistribution and use in source and binary forms, with or without 17.10 +modification, are permitted provided that the following conditions are met: 17.11 + 17.12 +1. Redistributions of source code must retain the above copyright 17.13 +notice, this list of conditions and the following disclaimer. 17.14 + 17.15 +2. Redistributions in binary form must reproduce the above copyright 17.16 +notice, this list of conditions and the following disclaimer in the 17.17 +documentation and/or other materials provided with the distribution. 17.18 + 17.19 +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 17.20 +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17.21 +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 17.22 +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 17.23 +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 17.24 +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 17.25 +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 17.26 +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 17.27 +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 17.28 +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 17.29 +--%> 17.30 +<%@page pageEncoding="UTF-8" %> 17.31 +<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 17.32 +<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 17.33 + 17.34 +<c:set scope="page" var="redirectLocation" value="${requestScope[Constants.REQ_ATTR_REDIRECT_LOCATION]}"/> 17.35 + 17.36 +<fmt:message bundle="${lightpit_bundle}" key="commit.success"/> 17.37 +<fmt:message bundle="${lightpit_bundle}" key="commit.redirect-link"/>
18.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 18.2 +++ b/src/main/webapp/WEB-INF/jsp/error.jsp Fri May 22 17:26:27 2020 +0200 18.3 @@ -0,0 +1,67 @@ 18.4 +<%-- 18.5 +DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 18.6 + 18.7 +Copyright 2018 Mike Becker. All rights reserved. 18.8 + 18.9 +Redistribution and use in source and binary forms, with or without 18.10 +modification, are permitted provided that the following conditions are met: 18.11 + 18.12 +1. Redistributions of source code must retain the above copyright 18.13 +notice, this list of conditions and the following disclaimer. 18.14 + 18.15 +2. Redistributions in binary form must reproduce the above copyright 18.16 +notice, this list of conditions and the following disclaimer in the 18.17 +documentation and/or other materials provided with the distribution. 18.18 + 18.19 +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 18.20 +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18.21 +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18.22 +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 18.23 +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18.24 +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 18.25 +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 18.26 +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 18.27 +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 18.28 +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 18.29 +--%> 18.30 +<%@page pageEncoding="UTF-8" %> 18.31 +<%@page import="de.uapcore.lightpit.Constants" %> 18.32 +<%@page import="de.uapcore.lightpit.modules.ErrorModule" %> 18.33 +<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 18.34 +<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 18.35 +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> 18.36 + 18.37 +<c:set scope="page" var="baseHref" value="${requestScope[Constants.REQ_ATTR_BASE_HREF]}"/> 18.38 +<c:set scope="page" var="errorCode" value="${requestScope['javax.servlet.error.status_code']}"/> 18.39 +<c:set scope="page" var="returnLink" value="${requestScope[ErrorModule.REQ_ATTR_RETURN_LINK]}"/> 18.40 + 18.41 +<div id="error-page"> 18.42 + <h1><fmt:message key="h1"/></h1> 18.43 + <table> 18.44 + <tr> 18.45 + <th><fmt:message key="errorCode"/>:</th> 18.46 + <td>${errorCode} - <fmt:message key="code.${errorCode}"/></td> 18.47 + </tr> 18.48 + <tr> 18.49 + <th><fmt:message key="errorMessage"/>:</th> 18.50 + <td><c:out value="${requestScope['javax.servlet.error.message']}"/></td> 18.51 + </tr> 18.52 + <tr> 18.53 + <th><fmt:message key="errorTimestamp"/>:</th> 18.54 + <td><fmt:formatDate type="both" value="<%= new java.util.Date()%>"/></td> 18.55 + </tr> 18.56 + <%--@elvariable id="exception" type="java.lang.Exception"--%> 18.57 + <c:if test="${not empty exception}"> 18.58 + <tr> 18.59 + <th><fmt:message key="errorExceptionText"/>:</th> 18.60 + <td>${exception['class'].name} - ${exception.message}</td> 18.61 + </tr> 18.62 + </c:if> 18.63 + <c:if test="${fn:startsWith(returnLink, baseHref)}"> 18.64 + <tr> 18.65 + <th><fmt:message key="errorReturnLink"/>:</th> 18.66 + <td><a href="${returnLink}">${returnLink}</a></td> 18.67 + </tr> 18.68 + </c:if> 18.69 + </table> 18.70 +</div>
19.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 19.2 +++ b/src/main/webapp/WEB-INF/jsp/language.jsp Fri May 22 17:26:27 2020 +0200 19.3 @@ -0,0 +1,52 @@ 19.4 +<%-- 19.5 +DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 19.6 + 19.7 +Copyright 2018 Mike Becker. All rights reserved. 19.8 + 19.9 +Redistribution and use in source and binary forms, with or without 19.10 +modification, are permitted provided that the following conditions are met: 19.11 + 19.12 +1. Redistributions of source code must retain the above copyright 19.13 +notice, this list of conditions and the following disclaimer. 19.14 + 19.15 +2. Redistributions in binary form must reproduce the above copyright 19.16 +notice, this list of conditions and the following disclaimer in the 19.17 +documentation and/or other materials provided with the distribution. 19.18 + 19.19 +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 19.20 +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 19.21 +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19.22 +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 19.23 +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19.24 +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 19.25 +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 19.26 +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 19.27 +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 19.28 +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 19.29 +--%> 19.30 +<%@page pageEncoding="UTF-8" %> 19.31 +<%@page import="de.uapcore.lightpit.Constants" %> 19.32 +<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 19.33 +<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 19.34 + 19.35 +<jsp:useBean id="languages" type="java.util.List<java.util.Locale>" scope="request"/> 19.36 +<jsp:useBean id="browserLanguage" type="java.util.Locale" scope="request"/> 19.37 + 19.38 +<c:set scope="page" var="currentLanguage" value="${sessionScope[Constants.SESSION_ATTR_LANGUAGE]}"/> 19.39 + 19.40 +<form method="POST" id="lang-selector"> 19.41 + <c:forEach items="${languages}" var="l"> 19.42 + <label> 19.43 + <input type="radio" name="language" value="${l.language}" 19.44 + <c:if test="${l.language eq currentLanguage.language}">checked</c:if>/> 19.45 + ${l.displayLanguage} 19.46 + (${l.getDisplayLanguage(currentLanguage)} 19.47 + <c:if test="${not empty browserLanguage and l.language eq browserLanguage.language}"><c:set 19.48 + var="browserLanguagePresent" value="true"/> - <fmt:message key="browserLanguage"/></c:if>) 19.49 + </label> 19.50 + </c:forEach> 19.51 + <c:if test="${not browserLanguagePresent}"> 19.52 + <span class="blNA"><fmt:message key="browserLanguageNotAvailable"/></span> 19.53 + </c:if> 19.54 + <input type="submit" value="<fmt:message key="submit" />"/> 19.55 +</form>
20.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 20.2 +++ b/src/main/webapp/WEB-INF/jsp/project-details.jsp Fri May 22 17:26:27 2020 +0200 20.3 @@ -0,0 +1,80 @@ 20.4 +<%-- 20.5 +DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 20.6 + 20.7 +Copyright 2018 Mike Becker. All rights reserved. 20.8 + 20.9 +Redistribution and use in source and binary forms, with or without 20.10 +modification, are permitted provided that the following conditions are met: 20.11 + 20.12 +1. Redistributions of source code must retain the above copyright 20.13 +notice, this list of conditions and the following disclaimer. 20.14 + 20.15 +2. Redistributions in binary form must reproduce the above copyright 20.16 +notice, this list of conditions and the following disclaimer in the 20.17 +documentation and/or other materials provided with the distribution. 20.18 + 20.19 +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 20.20 +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 20.21 +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 20.22 +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 20.23 +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20.24 +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 20.25 +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 20.26 +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 20.27 +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 20.28 +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 20.29 +--%> 20.30 +<%@page pageEncoding="UTF-8" %> 20.31 +<%@page import="de.uapcore.lightpit.Constants" %> 20.32 +<%@page import="de.uapcore.lightpit.modules.ProjectsModule" %> 20.33 +<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 20.34 +<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 20.35 + 20.36 +<c:set scope="page" var="moduleInfo" value="${requestScope[Constants.REQ_ATTR_MODULE_INFO]}"/> 20.37 +<c:set scope="page" var="selectedProject" value="${sessionScope[ProjectsModule.SESSION_ATTR_SELECTED_PROJECT]}"/> 20.38 + 20.39 +<jsp:useBean id="versions" type="java.util.List<de.uapcore.lightpit.entities.Version>" scope="request"/> 20.40 +<jsp:useBean id="issues" type="java.util.List<de.uapcore.lightpit.entities.Issue>" scope="request"/> 20.41 + 20.42 +<div id="tool-area"> 20.43 + <a href="./${moduleInfo.modulePath}/versions/edit" class="button"><fmt:message key="button.version.create"/></a> 20.44 + <a href="./${moduleInfo.modulePath}/issues/edit" class="button"><fmt:message key="button.issue.create"/></a> 20.45 +</div> 20.46 + 20.47 +<c:if test="${not empty versions}"> 20.48 + <table id="version-list" class="datatable medskip"> 20.49 + <thead> 20.50 + <tr> 20.51 + <th></th> 20.52 + <th><fmt:message key="thead.version.name"/></th> 20.53 + <th><fmt:message key="thead.version.status"/></th> 20.54 + </tr> 20.55 + </thead> 20.56 + <tbody> 20.57 + <c:forEach var="version" items="${versions}"> 20.58 + <tr class="nowrap"> 20.59 + <td style="width: 2em;"><a href="./${moduleInfo.modulePath}/versions/edit?id=${version.id}">✎</a> 20.60 + </td> 20.61 + <td><c:out value="${version.name}"/></td> 20.62 + <td><fmt:message key="version.status.${version.status}"/></td> 20.63 + </tr> 20.64 + </c:forEach> 20.65 + </tbody> 20.66 + </table> 20.67 +</c:if> 20.68 + 20.69 +<table id="issue-list" class="datatable medskip"> 20.70 + <thead> 20.71 + <tr> 20.72 + <th></th> 20.73 + <th><fmt:message key="thead.issue.subject"/></th> 20.74 + <th><fmt:message key="thead.issue.category"/></th> 20.75 + <th><fmt:message key="thead.issue.status"/></th> 20.76 + <th><fmt:message key="thead.issue.created"/></th> 20.77 + <th><fmt:message key="thead.issue.updated"/></th> 20.78 + <th><fmt:message key="thead.issue.eta"/></th> 20.79 + <!-- TODO: add other information --> 20.80 + </tr> 20.81 + </thead> 20.82 + <!-- TODO: add actual list --> 20.83 +</table>
21.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 21.2 +++ b/src/main/webapp/WEB-INF/jsp/project-form.jsp Fri May 22 17:26:27 2020 +0200 21.3 @@ -0,0 +1,81 @@ 21.4 +<%-- 21.5 +DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 21.6 + 21.7 +Copyright 2018 Mike Becker. All rights reserved. 21.8 + 21.9 +Redistribution and use in source and binary forms, with or without 21.10 +modification, are permitted provided that the following conditions are met: 21.11 + 21.12 +1. Redistributions of source code must retain the above copyright 21.13 +notice, this list of conditions and the following disclaimer. 21.14 + 21.15 +2. Redistributions in binary form must reproduce the above copyright 21.16 +notice, this list of conditions and the following disclaimer in the 21.17 +documentation and/or other materials provided with the distribution. 21.18 + 21.19 +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 21.20 +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 21.21 +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21.22 +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 21.23 +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21.24 +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 21.25 +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 21.26 +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 21.27 +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 21.28 +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 21.29 +--%> 21.30 +<%@page pageEncoding="UTF-8" %> 21.31 +<%@page import="de.uapcore.lightpit.Constants" %> 21.32 +<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 21.33 +<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 21.34 + 21.35 +<c:set scope="page" var="moduleInfo" value="${requestScope[Constants.REQ_ATTR_MODULE_INFO]}"/> 21.36 + 21.37 +<jsp:useBean id="project" type="de.uapcore.lightpit.entities.Project" scope="request"/> 21.38 +<jsp:useBean id="users" type="java.util.List<de.uapcore.lightpit.entities.User>" scope="request"/> 21.39 + 21.40 +<form action="./${moduleInfo.modulePath}/commit" method="post"> 21.41 + <table class="formtable"> 21.42 + <colgroup> 21.43 + <col> 21.44 + <col style="width: 75ch"> 21.45 + </colgroup> 21.46 + <tbody> 21.47 + <tr> 21.48 + <th><fmt:message key="thead.name"/></th> 21.49 + <td><input name="name" type="text" maxlength="20" required value="${project.name}"/></td> 21.50 + </tr> 21.51 + <tr> 21.52 + <th class="vtop"><fmt:message key="thead.description"/></th> 21.53 + <td><input type="text" name="description" maxlength="200" value="${project.description}"/></td> 21.54 + </tr> 21.55 + <tr> 21.56 + <th><fmt:message key="thead.repoUrl"/></th> 21.57 + <td><input name="repoUrl" type="url" maxlength="50" value="${project.repoUrl}"/></td> 21.58 + </tr> 21.59 + <tr> 21.60 + <th><fmt:message key="thead.owner"/></th> 21.61 + <td> 21.62 + <select name="owner"> 21.63 + <option value="-1"><fmt:message key="placeholder.null-owner"/></option> 21.64 + <c:forEach var="user" items="${users}"> 21.65 + <option 21.66 + <c:if test="${not empty project.owner and user.id eq project.owner.id}">selected</c:if> 21.67 + value="${user.id}"><c:out value="${user.displayname}"/></option> 21.68 + </c:forEach> 21.69 + </select> 21.70 + </td> 21.71 + </tr> 21.72 + </tbody> 21.73 + <tfoot> 21.74 + <tr> 21.75 + <td colspan="2"> 21.76 + <input type="hidden" name="id" value="${project.id}"/> 21.77 + <a href="./${moduleInfo.modulePath}/" class="button"><fmt:message bundle="${lightpit_bundle}" 21.78 + key="button.cancel"/></a> 21.79 + <button type="submit"><fmt:message bundle="${lightpit_bundle}" key="button.okay"/></button> 21.80 + </td> 21.81 + </tr> 21.82 + </tfoot> 21.83 + </table> 21.84 +</form>
22.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 22.2 +++ b/src/main/webapp/WEB-INF/jsp/projects.jsp Fri May 22 17:26:27 2020 +0200 22.3 @@ -0,0 +1,87 @@ 22.4 +<%-- 22.5 +DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 22.6 + 22.7 +Copyright 2018 Mike Becker. All rights reserved. 22.8 + 22.9 +Redistribution and use in source and binary forms, with or without 22.10 +modification, are permitted provided that the following conditions are met: 22.11 + 22.12 +1. Redistributions of source code must retain the above copyright 22.13 +notice, this list of conditions and the following disclaimer. 22.14 + 22.15 +2. Redistributions in binary form must reproduce the above copyright 22.16 +notice, this list of conditions and the following disclaimer in the 22.17 +documentation and/or other materials provided with the distribution. 22.18 + 22.19 +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 22.20 +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22.21 +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 22.22 +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 22.23 +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22.24 +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 22.25 +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 22.26 +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 22.27 +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 22.28 +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 22.29 +--%> 22.30 +<%@page pageEncoding="UTF-8" %> 22.31 +<%@page import="de.uapcore.lightpit.Constants" %> 22.32 +<%@page import="de.uapcore.lightpit.modules.ProjectsModule" %> 22.33 +<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 22.34 +<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 22.35 + 22.36 +<c:set scope="page" var="moduleInfo" value="${requestScope[Constants.REQ_ATTR_MODULE_INFO]}"/> 22.37 +<c:set scope="page" var="selectedProject" value="${sessionScope[ProjectsModule.SESSION_ATTR_SELECTED_PROJECT]}"/> 22.38 + 22.39 +<jsp:useBean id="projects" type="java.util.List<de.uapcore.lightpit.entities.Project>" scope="request"/> 22.40 + 22.41 +<c:if test="${empty projects}"> 22.42 + <div class="info-box"> 22.43 + <fmt:message key="no-projects"/> 22.44 + </div> 22.45 +</c:if> 22.46 + 22.47 +<div id="tool-area"> 22.48 + <a href="./${moduleInfo.modulePath}/edit" class="button"><fmt:message key="button.create"/></a> 22.49 +</div> 22.50 + 22.51 +<c:if test="${not empty projects}"> 22.52 + <table id="project-list" class="datatable medskip fullwidth"> 22.53 + <colgroup> 22.54 + <col> 22.55 + <col style="width: 10%"> 22.56 + <col style="width: 35%"> 22.57 + <col style="width: 30%"> 22.58 + <col style="width: 25%"> 22.59 + </colgroup> 22.60 + <thead> 22.61 + <tr> 22.62 + <th></th> 22.63 + <th><fmt:message key="thead.name"/></th> 22.64 + <th><fmt:message key="thead.description"/></th> 22.65 + <th><fmt:message key="thead.repoUrl"/></th> 22.66 + <th><fmt:message key="thead.owner"/></th> 22.67 + </tr> 22.68 + </thead> 22.69 + <tbody> 22.70 + <c:forEach var="project" items="${projects}"> 22.71 + <tr class="nowrap"> 22.72 + <td style="width: 2em;"><a href="./${moduleInfo.modulePath}/edit?id=${project.id}">✎</a></td> 22.73 + <td><a href="./${moduleInfo.modulePath}/view?pid=${project.id}"><c:out value="${project.name}"/></a> 22.74 + </td> 22.75 + <td><c:out value="${project.description}"/></td> 22.76 + <td> 22.77 + <c:if test="${not empty project.repoUrl}"> 22.78 + <a target="_blank" href="<c:out value="${project.repoUrl}"/>"><c:out 22.79 + value="${project.repoUrl}"/></a> 22.80 + </c:if> 22.81 + </td> 22.82 + <td> 22.83 + <c:if test="${not empty project.owner}"><c:out value="${project.owner.displayname}"/></c:if> 22.84 + <c:if test="${empty project.owner}"><fmt:message key="placeholder.null-owner"/></c:if> 22.85 + </td> 22.86 + </tr> 22.87 + </c:forEach> 22.88 + </tbody> 22.89 + </table> 22.90 +</c:if>
23.1 --- a/src/main/webapp/WEB-INF/jsp/site.jsp Fri May 22 17:19:09 2020 +0200 23.2 +++ b/src/main/webapp/WEB-INF/jsp/site.jsp Fri May 22 17:26:27 2020 +0200 23.3 @@ -43,8 +43,8 @@ 23.4 <%-- Define an alias for the main menu --%> 23.5 <c:set scope="page" var="breadcrumbs" value="${requestScope[Constants.REQ_ATTR_BREADCRUMBS]}"/> 23.6 23.7 -<%-- Define an alias for the fragment name --%> 23.8 -<c:set scope="page" var="fragment" value="${requestScope[Constants.REQ_ATTR_FRAGMENT]}"/> 23.9 +<%-- Define an alias for the content page name --%> 23.10 +<c:set scope="page" var="contentPage" value="${requestScope[Constants.REQ_ATTR_CONTENT_PAGE]}"/> 23.11 23.12 <%-- Define an alias for the optional redirect location --%> 23.13 <c:set scope="page" var="redirectLocation" value="${requestScope[Constants.REQ_ATTR_REDIRECT_LOCATION]}"/> 23.14 @@ -95,10 +95,10 @@ 23.15 </div> 23.16 </c:if> 23.17 <div id="content-area"> 23.18 - <c:if test="${not empty fragment}"> 23.19 + <c:if test="${not empty contentPage}"> 23.20 <fmt:setBundle scope="request" basename="${moduleInfo.bundleBaseName}"/> 23.21 <fmt:setBundle scope="request" var="lightpit_bundle" basename="localization.lightpit"/> 23.22 - <c:import url="${fragment}"/> 23.23 + <c:import url="${contentPage}"/> 23.24 </c:if> 23.25 </div> 23.26 </body>
24.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 24.2 +++ b/src/main/webapp/WEB-INF/jsp/user-form.jsp Fri May 22 17:26:27 2020 +0200 24.3 @@ -0,0 +1,72 @@ 24.4 +<%-- 24.5 +DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 24.6 + 24.7 +Copyright 2018 Mike Becker. All rights reserved. 24.8 + 24.9 +Redistribution and use in source and binary forms, with or without 24.10 +modification, are permitted provided that the following conditions are met: 24.11 + 24.12 +1. Redistributions of source code must retain the above copyright 24.13 +notice, this list of conditions and the following disclaimer. 24.14 + 24.15 +2. Redistributions in binary form must reproduce the above copyright 24.16 +notice, this list of conditions and the following disclaimer in the 24.17 +documentation and/or other materials provided with the distribution. 24.18 + 24.19 +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 24.20 +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 24.21 +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 24.22 +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 24.23 +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 24.24 +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 24.25 +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 24.26 +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 24.27 +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 24.28 +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24.29 +--%> 24.30 +<%@page pageEncoding="UTF-8" %> 24.31 +<%@page import="de.uapcore.lightpit.Constants" %> 24.32 +<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 24.33 +<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 24.34 + 24.35 +<c:set scope="page" var="moduleInfo" value="${requestScope[Constants.REQ_ATTR_MODULE_INFO]}"/> 24.36 + 24.37 +<jsp:useBean id="user" type="de.uapcore.lightpit.entities.User" scope="request"/> 24.38 + 24.39 +<form action="./${moduleInfo.modulePath}/commit" method="post"> 24.40 + <table class="formtable"> 24.41 + <colgroup> 24.42 + <col> 24.43 + <col style="width: 50ch"> 24.44 + </colgroup> 24.45 + <tbody> 24.46 + <tr> 24.47 + <th><fmt:message key="thead.username"/></th> 24.48 + <td><input name="username" type="text" maxlength="50" required value="${user.username}" 24.49 + <c:if test="${user.id ge 0}">readonly</c:if> /></td> 24.50 + </tr> 24.51 + <tr> 24.52 + <th><fmt:message key="thead.givenname"/></th> 24.53 + <td><input name="givenname" type="text" maxlength="50" value="${user.givenname}"/></td> 24.54 + </tr> 24.55 + <tr> 24.56 + <th><fmt:message key="thead.lastname"/></th> 24.57 + <td><input name="lastname" type="text" maxlength="50" value="${user.lastname}"/></td> 24.58 + </tr> 24.59 + <tr> 24.60 + <th><fmt:message key="thead.mail"/></th> 24.61 + <td><input name="mail" type="email" maxlength="50" value="${user.mail}"/></td> 24.62 + </tr> 24.63 + </tbody> 24.64 + <tfoot> 24.65 + <tr> 24.66 + <td colspan="2"> 24.67 + <input type="hidden" name="userid" value="${user.id}"/> 24.68 + <a href="./${moduleInfo.modulePath}/" class="button"><fmt:message bundle="${lightpit_bundle}" 24.69 + key="button.cancel"/></a> 24.70 + <button type="submit"><fmt:message bundle="${lightpit_bundle}" key="button.okay"/></button> 24.71 + </td> 24.72 + </tr> 24.73 + </tfoot> 24.74 + </table> 24.75 +</form>
25.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 25.2 +++ b/src/main/webapp/WEB-INF/jsp/users.jsp Fri May 22 17:26:27 2020 +0200 25.3 @@ -0,0 +1,63 @@ 25.4 +<%-- 25.5 +DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 25.6 + 25.7 +Copyright 2018 Mike Becker. All rights reserved. 25.8 + 25.9 +Redistribution and use in source and binary forms, with or without 25.10 +modification, are permitted provided that the following conditions are met: 25.11 + 25.12 +1. Redistributions of source code must retain the above copyright 25.13 +notice, this list of conditions and the following disclaimer. 25.14 + 25.15 +2. Redistributions in binary form must reproduce the above copyright 25.16 +notice, this list of conditions and the following disclaimer in the 25.17 +documentation and/or other materials provided with the distribution. 25.18 + 25.19 +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 25.20 +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 25.21 +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 25.22 +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 25.23 +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25.24 +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 25.25 +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 25.26 +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 25.27 +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 25.28 +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25.29 +--%> 25.30 +<%@page pageEncoding="UTF-8" %> 25.31 +<%@page import="de.uapcore.lightpit.Constants" %> 25.32 +<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 25.33 +<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 25.34 + 25.35 +<c:set scope="page" var="moduleInfo" value="${requestScope[Constants.REQ_ATTR_MODULE_INFO]}"/> 25.36 + 25.37 +<jsp:useBean id="users" type="java.util.List<de.uapcore.lightpit.entities.User>" scope="request"/> 25.38 + 25.39 +<c:if test="${empty users}"> 25.40 + <div class="info-box"> 25.41 + <fmt:message key="no-users"/> 25.42 + </div> 25.43 +</c:if> 25.44 + 25.45 +<div id="tool-area"> 25.46 + <a href="./${moduleInfo.modulePath}/edit" class="button"><fmt:message key="button.create"/></a> 25.47 +</div> 25.48 + 25.49 +<c:if test="${not empty users}"> 25.50 + <table class="datatable medskip"> 25.51 + <thead> 25.52 + <tr> 25.53 + <th></th> 25.54 + <th><fmt:message key="thead.displayname"/></th> 25.55 + </tr> 25.56 + </thead> 25.57 + <tbody> 25.58 + <c:forEach var="user" items="${users}"> 25.59 + <tr> 25.60 + <td><a href="./${moduleInfo.modulePath}/edit?id=${user.id}">✎</a></td> 25.61 + <td><c:out value="${user.displayname}"/></td> 25.62 + </tr> 25.63 + </c:forEach> 25.64 + </tbody> 25.65 + </table> 25.66 +</c:if>
26.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 26.2 +++ b/src/main/webapp/WEB-INF/jsp/version-form.jsp Fri May 22 17:26:27 2020 +0200 26.3 @@ -0,0 +1,79 @@ 26.4 +<%-- 26.5 +DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 26.6 + 26.7 +Copyright 2018 Mike Becker. All rights reserved. 26.8 + 26.9 +Redistribution and use in source and binary forms, with or without 26.10 +modification, are permitted provided that the following conditions are met: 26.11 + 26.12 +1. Redistributions of source code must retain the above copyright 26.13 +notice, this list of conditions and the following disclaimer. 26.14 + 26.15 +2. Redistributions in binary form must reproduce the above copyright 26.16 +notice, this list of conditions and the following disclaimer in the 26.17 +documentation and/or other materials provided with the distribution. 26.18 + 26.19 +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 26.20 +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 26.21 +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 26.22 +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 26.23 +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 26.24 +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 26.25 +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 26.26 +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 26.27 +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 26.28 +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26.29 +--%> 26.30 +<%@page pageEncoding="UTF-8" %> 26.31 +<%@page import="de.uapcore.lightpit.Constants" %> 26.32 +<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 26.33 +<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 26.34 + 26.35 +<c:set scope="page" var="moduleInfo" value="${requestScope[Constants.REQ_ATTR_MODULE_INFO]}"/> 26.36 +<c:set scope="page" var="selectedProject" value="${sessionScope[ProjectsModule.SESSION_ATTR_SELECTED_PROJECT]}"/> 26.37 + 26.38 +<jsp:useBean id="version" type="de.uapcore.lightpit.entities.Version" scope="request"/> 26.39 +<jsp:useBean id="versionStatusEnum" type="de.uapcore.lightpit.entities.VersionStatus[]" scope="request"/> 26.40 + 26.41 +<form action="./${moduleInfo.modulePath}/versions/commit" method="post"> 26.42 + <table class="formtable" style="width: 35ch"> 26.43 + <colgroup> 26.44 + <col> 26.45 + <col style="width: 100%"> 26.46 + </colgroup> 26.47 + <tbody> 26.48 + <tr> 26.49 + <th><fmt:message key="thead.version.name"/></th> 26.50 + <td><input name="name" type="text" maxlength="20" required value="${version.name}"/></td> 26.51 + </tr> 26.52 + <tr> 26.53 + <th><fmt:message key="thead.version.status"/></th> 26.54 + <td> 26.55 + <select name="status" required> 26.56 + <c:forEach var="elem" items="${versionStatusEnum}"> 26.57 + <option 26.58 + <c:if test="${elem eq version.status}">selected</c:if> value="${elem}"><fmt:message 26.59 + key="version.status.${elem}"/></option> 26.60 + </c:forEach> 26.61 + </select> 26.62 + </td> 26.63 + </tr> 26.64 + <tr title="<fmt:message key="tooltip.ordinal" />"> 26.65 + <th><fmt:message key="thead.version.ordinal"/></th> 26.66 + <td> 26.67 + <input name="ordinal" type="number" min="0" value="${version.ordinal}"/> 26.68 + </td> 26.69 + </tr> 26.70 + </tbody> 26.71 + <tfoot> 26.72 + <tr> 26.73 + <td colspan="2"> 26.74 + <input type="hidden" name="id" value="${version.id}"/> 26.75 + <a href="./${moduleInfo.modulePath}/versions/" class="button"><fmt:message bundle="${lightpit_bundle}" 26.76 + key="button.cancel"/></a> 26.77 + <button type="submit"><fmt:message bundle="${lightpit_bundle}" key="button.okay"/></button> 26.78 + </td> 26.79 + </tr> 26.80 + </tfoot> 26.81 + </table> 26.82 +</form>