$.ajaxJSON(this.url, 'PUT', formData, (data) => {
   this.update(data)
   if (!data.excused) {
     const outlierScoreHelper = new OutlierScoreHelper(this.submission.score, this.submission.assignment.points_possible)
     if (outlierScoreHelper.hasWarning()) {
       $.flashWarning(outlierScoreHelper.warningMessage())
     }
   }
   $.publish('submissions_updated', [this.submission.all_submissions])
   setTimeout(() => this.dialog.dialog('close'), 500)
 })
      this.set('value', newVal)
    } else {
      this.set('value', GradeFormatHelper.formatGrade(newVal))
    }
  }
    .observes('submission')
    .on('init'),

  onUpdateSuccess(submission) {
    this.sendAction('on-submit-grade', submission.all_submissions)
    if (!submission.excused) {
      const outlierScoreHelper = new OutlierScoreHelper(
        submission.score,
        this.assignment.points_possible
      )
      if (outlierScoreHelper.hasWarning()) {
        $.flashWarning(outlierScoreHelper.warningMessage())
      }
    }
  },

  onUpdateError() {
    $.flashError(GRADEBOOK_TRANSLATIONS.submission_update_error)
  },

  focusOut(event) {
    const isGradeInput = event.target.id === 'student_and_assignment_grade'
    const submission = this.get('submission')

    if (!submission || !isGradeInput) {
      return