override fun fillModel()

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
    }