in src/main/kotlin/org/jetbrains/teamcity/github/controllers/SuitableRepositoriesPopup.kt [32:55]
override fun doHandle(request: HttpServletRequest, response: HttpServletResponse): ModelAndView {
val projectId = request.getParameter("projectId")
val project = myProjectManager.findProjectByExternalId(projectId) ?: return SimpleView.createTextView("Project with id: $projectId does not exist")
val hasConnections = myOauthConnectionManager.getAvailableConnections(project).isNotEmpty()
val repos: SortedMap<GitHubRepositoryInfo, OAuthConnectionDescriptor> = TreeMap(GitHubRepositoryInfo.LexicographicalComparator)
if (hasConnections) {
val vcsRoots = Util.getVcsRootsWhereHookCanBeInstalled(project, myOauthConnectionManager)
vcsRoots.mapNotNull { Util.getGitHubInfo(it) }
.toSet()
.forEach { info ->
val connections = Util.findConnections(myOauthConnectionManager, project, info.server)
if (connections.isNotEmpty()) repos[info] = connections.first()
}
}
val mv = ModelAndView(myViewPath)
mv.model["repositoriesMap"] = repos
mv.model["hasConnections"] = hasConnections
mv.model["project"] = project
return mv
}