override fun isAvailable()

in src/main/kotlin/jetbrains/buildServer/notification/slackNotifier/healthReport/SlackInvalidBuildFeatureExtension.kt [31:49]


    override fun isAvailable(request: HttpServletRequest): Boolean {
        if (!super.isAvailable(request)) {
            return false;
        }

        val user = SessionUser.getUser(request)

        val statusItem = getStatusItem(request)
        val data = statusItem.additionalData
        val buildTypeId = data["buildTypeId"] as String
        val buildType = projectManager.findBuildTypeByExternalId(buildTypeId)
        if (buildType != null) {
            if (!user.isPermissionGrantedForProject(buildType.projectId, Permission.RUN_BUILD)) {
                return false
            }
        }

        return true;
    }