189 val needRelationsMap = filter.onlyBlocker |
189 val needRelationsMap = filter.onlyBlocker |
190 |
190 |
191 val relationsMap = if (needRelationsMap) dao.getIssueRelationMap(project, filter.includeDone) else emptyMap() |
191 val relationsMap = if (needRelationsMap) dao.getIssueRelationMap(project, filter.includeDone) else emptyMap() |
192 |
192 |
193 val issues = dao.listIssues(project, filter.includeDone, version, component) |
193 val issues = dao.listIssues(project, filter.includeDone, version, component) |
194 .sortedWith( |
194 .sortedWith(IssueSorter(filter.sortPrimary, filter.sortSecondary, filter.sortTertiary)) |
195 IssueSorter( |
|
196 IssueSorter.Criteria(IssueSorter.Field.DONE), |
|
197 IssueSorter.Criteria(IssueSorter.Field.ETA), |
|
198 IssueSorter.Criteria(IssueSorter.Field.UPDATED, false) |
|
199 ) |
|
200 ) |
|
201 .filter { |
195 .filter { |
202 (!filter.onlyMine || (it.assignee?.username ?: "") == (http.remoteUser ?: "<Anonymous>")) && |
196 (!filter.onlyMine || (it.assignee?.username ?: "") == (http.remoteUser ?: "<Anonymous>")) && |
203 (!filter.onlyBlocker || (relationsMap[it.id]?.any { (_,type) -> type.blocking }?:false)) && |
197 (!filter.onlyBlocker || (relationsMap[it.id]?.any { (_,type) -> type.blocking }?:false)) && |
204 (filter.status.isEmpty() || filter.status.contains(it.status)) && |
198 (filter.status.isEmpty() || filter.status.contains(it.status)) && |
205 (filter.category.isEmpty() || filter.category.contains(it.category)) |
199 (filter.category.isEmpty() || filter.category.contains(it.category)) |