diff -r bbf4eb9a71f8 -r bf67e0ff7131 src/main/kotlin/de/uapcore/lightpit/servlet/FeedServlet.kt --- a/src/main/kotlin/de/uapcore/lightpit/servlet/FeedServlet.kt Mon Aug 05 17:41:56 2024 +0200 +++ b/src/main/kotlin/de/uapcore/lightpit/servlet/FeedServlet.kt Mon Aug 05 18:40:47 2024 +0200 @@ -32,6 +32,7 @@ import de.uapcore.lightpit.dao.DataAccessObject import de.uapcore.lightpit.entities.IssueCommentHistoryEntry import de.uapcore.lightpit.entities.IssueHistoryEntry +import de.uapcore.lightpit.entities.Project import de.uapcore.lightpit.types.IssueHistoryType import de.uapcore.lightpit.viewmodel.CommentDiff import de.uapcore.lightpit.viewmodel.IssueDiff @@ -79,6 +80,7 @@ private fun fullContent(issue: IssueHistoryEntry) = IssueDiff( issue.issueid, issue.subject, + issue.project, issue.component, issue.status.name, issue.category.name, @@ -162,21 +164,27 @@ } private fun issues(http: HttpRequest, dao: DataAccessObject) { - val project = http.pathParams["project"]?.let { dao.findProjectByNode(it) } - if (project == null) { - http.response.sendError(404) - return + val projectNode = http.pathParams["project"].orEmpty() + val project: Project? + if (projectNode == "-") { + project = null + } else { + project = dao.findProjectByNode(projectNode) + if (project == null) { + http.response.sendError(404) + return + } } val assignees = http.param("assignee")?.split(',') val comments = http.param("comments") ?: "all" val days = http.param("days")?.toIntOrNull() ?: 30 - val issuesFromDb = dao.listIssueHistory(project.id, days) + val issuesFromDb = dao.listIssueHistory(project, days) val issueHistory = if (assignees == null) issuesFromDb else issuesFromDb.filter { assignees.contains(it.currentAssignee) } - val commentsFromDb = dao.listIssueCommentHistory(project.id, days) + val commentsFromDb = dao.listIssueCommentHistory(project, days) val commentHistory = when (comments) { "all" -> commentsFromDb "new" -> commentsFromDb.filter { it.type == IssueHistoryType.NewComment }