44 class ProjectsView( |
44 class ProjectsView( |
45 val projects: List<ProjectInfo> |
45 val projects: List<ProjectInfo> |
46 ) : View() |
46 ) : View() |
47 |
47 |
48 class ProjectDetails( |
48 class ProjectDetails( |
49 val pathInfos: PathInfos, |
49 val pathInfos: PathInfosFull, |
50 val issues: List<Issue>, |
50 val issues: List<Issue>, |
51 val filter: IssueFilter, |
51 val filter: IssueFilter |
52 val users: List<User> |
|
53 ) : View() { |
52 ) : View() { |
54 val projectInfo = pathInfos.projectInfo |
53 val projectInfo = pathInfos.projectInfo |
55 val issueSummary = IssueSummary() |
54 val issueSummary = IssueSummary() |
56 val versionInfo: VersionInfo? |
55 val versionInfo: VersionInfo? |
57 val componentDetails: Component? |
56 val componentDetails: Component? |
58 |
57 |
59 init { |
58 init { |
|
59 feedHref = "feed/${projectInfo.project.node}/issues.rss" |
60 issues.forEach(issueSummary::add) |
60 issues.forEach(issueSummary::add) |
61 versionInfo = when (val vinfo = pathInfos.versionInfo){ |
61 versionInfo = when (val vinfo = pathInfos.versionInfo){ |
62 is OptionalPathInfo.Specific -> VersionInfo(vinfo.elem, issues) |
62 is OptionalPathInfo.Specific -> VersionInfo(vinfo.elem, issues) |
63 else -> null |
63 else -> null |
64 } |
64 } |