in src/main/kotlin/org/jetbrains/teamcity/github/controllers/InstallWebhookTab.kt [54:100]
override fun fillModel(model: MutableMap<String, Any?>, request: HttpServletRequest) {
super.fillModel(model, request)
val project = getProject(request) ?: return
val user = SessionUser.getUser(request) ?: return
val repository = request.getParameter("repository")
val info = repository?.let { Util.parseGitRepoUrl(it) }
model["repository"] = repository.orEmpty()
var connection: OAuthConnectionDescriptor? = info?.let { getConnection(request, project) }
val hasToken: Boolean
val hasConnections: Boolean
when {
info == null -> {
hasToken = false
hasConnections = false
}
connection != null -> {
hasToken = tokensHelper.getExistingTokens(project, listOf(connection), user).isNotEmpty()
hasConnections = true
}
else -> {
val pair = getConnections(project, user, info.server)
val connections = pair?.first
if (connections != null && connections.size == 1) {
connection = connections.first()
}
hasConnections = connections?.isNotEmpty() == true
hasToken = pair?.second == true
}
}
model["connectionId"] = connection?.id.orEmpty()
model["connectionProjectId"] = connection?.project?.externalId.orEmpty()
model["has_connections"] = hasConnections
model["has_tokens"] = hasToken
model["info"] = info
val cameFrom = CameFromSupport()
cameFrom.setUrlFromRequest(request, "/admin/editProject.html?projectId=${project.externalId}")
cameFrom.setTitleFromRequest(request, null)
model["cameFrom"] = cameFrom
}