src/main/webapp/WEB-INF/jsp/issues-feed.jsp

Sun, 06 Oct 2024 15:35:46 +0200

author
Mike Becker <universe@uap-core.de>
date
Sun, 06 Oct 2024 15:35:46 +0200
changeset 326
d5f6331d4adb
parent 324
61b16fc21f4d
child 331
78a84c344efb
permissions
-rw-r--r--

fix critical loss of data - fixes #449

<%--
  ~ Copyright 2021 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 contentType="application/rss+xml;charset=UTF-8" pageEncoding="UTF-8" trimDirectiveWhitespaces="true" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<jsp:useBean id="viewmodel" type="de.uapcore.lightpit.viewmodel.IssueFeed" scope="request"/>
<channel>
    <c:if test="${not empty viewmodel.project}">
    <title><c:out value="${viewmodel.project.name}"/>|<fmt:message key="feed.issues.title"/></title>
    <link>${baseHref}projects/${viewmodel.project.node}</link>
    <c:set var="issueHref" value="${baseHref}projects/${viewmodel.project.node}/issues/-/-/"/>
    </c:if>
    <c:if test="${empty viewmodel.project}">
    <title><fmt:message key="feed.issues.title"/></title>
    <link>${baseHref}issues/</link>
    <c:set var="issueHref" value="${baseHref}issues/"/>
    </c:if>
    <description><fmt:message key="feed.issues.description"/></description>
    <language>${pageContext.response.locale.language}</language>
    <pubDate><fmt:formatDate value="${viewmodel.lastModified}" pattern="EEE, dd MMM yyyy HH:mm:ss zzz"/></pubDate>
    <lastBuildDate><fmt:formatDate value="${viewmodel.lastModified}"
                                   pattern="EEE, dd MMM yyyy HH:mm:ss zzz"/></lastBuildDate>

    <c:forEach items="${viewmodel.entries}" var="entry">
        <item>
            <c:choose>
                <c:when test="${not empty entry.issue}">
                    <c:set var="issue" value="${entry.issue}"/>
                    <c:set var="link" value="${issueHref}${issue.id}"/>
                    <title>[<fmt:message key="feed.issues.type.${entry.type}"/>] #${issue.id} - <c:out value="${issue.currentSubject}"/></title>
                    <description><![CDATA[
                        <h1>#${issue.id} - ${issue.subject}</h1>
                        <c:if test="${empty viewmodel.project}">
                        <div><b><fmt:message key="project"/></b>: ${issue.project}</div>
                        </c:if>
                        <div><b><fmt:message key="component"/></b>: ${issue.component}</div>
                        <div><b><fmt:message key="issue.category"/></b>: ${issue.category}</div>
                        <div><b><fmt:message key="issue.status"/></b>: ${issue.status}</div>
                        <div><b><fmt:message key="issue.resolved-versions"/></b>: ${issue.resolved}</div>
                        <div><b><fmt:message key="issue.affected-versions"/></b>: ${issue.affected}</div>
                        <div><b><fmt:message key="issue.assignee"/></b>: ${issue.assignee}</div>
                        <div><b><fmt:message key="issue.eta"/></b>: ${issue.eta}</div>
                        <h2><fmt:message key="issue.description"/></h2>
                        <div style="white-space: pre-wrap;">${issue.description}</div>
                    ]]></description>
                    <category>${issue.currentCategory}</category>
                </c:when>
                <c:when test="${not empty entry.comment}">
                    <c:set var="comment" value="${entry.comment}"/>
                    <c:set var="link" value="${issueHref}${comment.issueid}"/>
                    <title>[<fmt:message key="feed.issues.type.${entry.type}"/>] #${comment.issueid} - <c:out value="${comment.currentSubject}"/></title>
                    <description><![CDATA[
                        <div style="white-space: pre-wrap;">${comment.comment}</div>
                    ]]></description>
                    <category><fmt:message key="feed.issues.type.${entry.type}"/></category>
                </c:when>
            </c:choose>
            <link>${link}</link>
            <guid isPermaLink="true">${link}</guid>
            <pubDate><fmt:formatDate value="${entry.time}" pattern="EEE, dd MMM yyyy HH:mm:ss zzz"/></pubDate>
        </item>
    </c:forEach>
</channel>

mercurial