diff -r ba2a1313eb98 -r 61b16fc21f4d src/main/kotlin/de/uapcore/lightpit/servlet/FeedServlet.kt --- a/src/main/kotlin/de/uapcore/lightpit/servlet/FeedServlet.kt Sat Aug 17 12:09:03 2024 +0200 +++ b/src/main/kotlin/de/uapcore/lightpit/servlet/FeedServlet.kt Sun Oct 06 15:08:50 2024 +0200 @@ -77,14 +77,12 @@ ).joinToString("\n", transform = DiffRow::getOldLine) ) - private fun fullContent(issue: IssueHistoryEntry) = IssueDiff( + private fun fullContent(http: HttpRequest, issue: IssueHistoryEntry) = IssueDiff( issue.issueid, - issue.subject, issue.project, issue.component, - issue.status.name, - issue.category.name, - issue.category.name, + http.i18n("issue.status."+issue.status.name), + http.i18n("issue.category."+issue.category.name), issue.subject, issue.description.replace("\r", ""), issue.assignee, @@ -93,9 +91,9 @@ issue.resolved ) - private fun diffContent(cur: IssueHistoryEntry, next: IssueHistoryEntry): IssueDiff { - val prev = fullContent(next) - val diff = fullContent(cur) + private fun diffContent(http: HttpRequest, cur: IssueHistoryEntry, next: IssueHistoryEntry): IssueDiff { + val prev = fullContent(http, next) + val diff = fullContent(http, cur) val result = diffGenerator.generateDiffRows( listOf( prev.subject, prev.component, prev.status, @@ -129,22 +127,23 @@ * Assumes that [issueEntries] and [commentEntries] are already sorted by timestamp (descending). */ private fun generateFeedEntries( + http: HttpRequest, issueEntries: List, commentEntries: List ): List = - (generateIssueFeedEntries(issueEntries) + generateCommentFeedEntries(commentEntries)).sortedByDescending { it.time } + (generateIssueFeedEntries(http, issueEntries) + generateCommentFeedEntries(commentEntries)).sortedByDescending { it.time } - private fun generateIssueFeedEntries(entries: List): List = + private fun generateIssueFeedEntries(http: HttpRequest, entries: List): List = if (entries.isEmpty()) { emptyList() } else { entries.groupBy { it.issueid }.mapValues { (_, history) -> history.zipWithNext().map { (cur, next) -> IssueFeedEntry( - cur.time, cur.type, issue = diffContent(cur, next) + cur.time, cur.type, issue = diffContent(http, cur, next) ) }.plus( - history.last().let { IssueFeedEntry(it.time, it.type, issue = fullContent(it)) } + history.last().let { IssueFeedEntry(it.time, it.type, issue = fullContent(http, it)) } ) }.flatMap { it.value } } @@ -192,7 +191,7 @@ else -> emptyList() } - http.view = IssueFeed(project, generateFeedEntries(issueHistory, commentHistory)) + http.view = IssueFeed(project, generateFeedEntries(http, issueHistory, commentHistory)) http.renderFeed("issues-feed") } } \ No newline at end of file