override fun afterCheck()

in intellij-plugin/features/social-media/src/com/jetbrains/edu/socialMedia/SocialMediaMultiplePostAction.kt [49:69]


  override fun afterCheck(project: Project, task: Task, result: CheckResult) {
    val course = task.course
    // It doesn't make sense to suggest posting to social media in educator mode or for preview course
    if (!course.isStudy || course.isPreview) return
    if (result.status != CheckStatus.Solved) return

    val courseId = course.id
    if (!SocialMediaPostManager.needToAskedToPost(courseId)) return

    val previousStatus = PreviousTaskStatusService.getInstance(project).getPreviousStatus(task) ?: return
    val activeConfigurators = listOf(XPluginConfigurator.EP_NAME, LinkedInPluginConfigurator.EP_NAME)
      .flatMap { it.extensionList }
      .filter { it.askToPost(project, task, previousStatus) }
    if (activeConfigurators.all { !it.settings.askToPost }) return
    if (activeConfigurators.isEmpty()) return

    createDialogAndShow(project, activeConfigurators, task)

    SocialMediaPostManager.setAskedToPost(courseId)
    sendStatistics(course)
  }