original_string: protected function gradebook_item_update($submission=null, $grade=null) {
          global $CFG;
  
          require_once($CFG->dirroot.'/mod/assign/lib.php');
          // Do not push grade to gradebook if blind marking is active as
          // the gradebook would reveal the students.
          if ($this->is_blind_marking()) {
              return false;
          }
  
          // If marking workflow is enabled and grade is not released then remove any grade that may exist in the gradebook.
          if ($this->get_instance()->markingworkflow && !empty($grade) &&
                  $this->get_grading_status($grade->userid) != ASSIGN_MARKING_WORKFLOW_STATE_RELEASED) {
              // Remove the grade (if it exists) from the gradebook as it is not 'final'.
              $grade->grade = -1;
              $grade->feedbacktext = '';
              $grade->feebackfiles = [];
          }
  
          if ($submission != null) {
              if ($submission->userid == 0) {
                  // This is a group submission update.
                  $team = groups_get_members($submission->groupid, 'u.id');
  
                  foreach ($team as $member) {
                      $membersubmission = clone $submission;
                      $membersubmission->groupid = 0;
                      $membersubmission->userid = $member->id;
                      $this->gradebook_item_update($membersubmission, null);
                  }
                  return;
              }
  
              $gradebookgrade = $this->convert_submission_for_gradebook($submission);
  
          } else {
              $gradebookgrade = $this->convert_grade_for_gradebook($grade);
          }
          // Grading is disabled, return.
          if ($this->grading_disabled($gradebookgrade['userid'])) {
              return false;
          }
          $assign = clone $this->get_instance();
          $assign->cmidnumber = $this->get_course_module()->idnumber;
          // Set assign gradebook feedback plugin status (enabled and visible).
          $assign->gradefeedbackenabled = $this->is_gradebook_feedback_enabled();
          return assign_grade_item_update($assign, $gradebookgrade) == GRADE_UPDATE_OK;
      }
code: protected function gradebook_item_update($submission=null, $grade=null) {
          global $CFG;
  
          require_once($CFG->dirroot.'/mod/assign/lib.php');
          // Do not push grade to gradebook if blind marking is active as
          // the gradebook would reveal the students.
          if ($this->is_blind_marking()) {
              return false;
          }
  
          // If marking workflow is enabled and grade is not released then remove any grade that may exist in the gradebook.
          if ($this->get_instance()->markingworkflow && !empty($grade) &&
                  $this->get_grading_status($grade->userid) != ASSIGN_MARKING_WORKFLOW_STATE_RELEASED) {
              // Remove the grade (if it exists) from the gradebook as it is not 'final'.
              $grade->grade = -1;
              $grade->feedbacktext = '';
              $grade->feebackfiles = [];
          }
  
          if ($submission != null) {
              if ($submission->userid == 0) {
                  // This is a group submission update.
                  $team = groups_get_members($submission->groupid, 'u.id');
  
                  foreach ($team as $member) {
                      $membersubmission = clone $submission;
                      $membersubmission->groupid = 0;
                      $membersubmission->userid = $member->id;
                      $this->gradebook_item_update($membersubmission, null);
                  }
                  return;
              }
  
              $gradebookgrade = $this->convert_submission_for_gradebook($submission);
  
          } else {
              $gradebookgrade = $this->convert_grade_for_gradebook($grade);
          }
          // Grading is disabled, return.
          if ($this->grading_disabled($gradebookgrade['userid'])) {
              return false;
          }
          $assign = clone $this->get_instance();
          $assign->cmidnumber = $this->get_course_module()->idnumber;
          // Set assign gradebook feedback plugin status (enabled and visible).
          $assign->gradefeedbackenabled = $this->is_gradebook_feedback_enabled();
          return assign_grade_item_update($assign, $gradebookgrade) == GRADE_UPDATE_OK;
      }
code_tokens: protected function gradebook_item_update ( $ submission = null , $ grade = null ) { global $ CFG ; require_once ( $ CFG -> dirroot . '/mod/assign/lib.php' ) ; // Do not push grade to gradebook if blind marking is active as // the gradebook would reveal the students. if ( $ this -> is_blind_marking ( ) ) { return false ; } // If marking workflow is enabled and grade is not released then remove any grade that may exist in the gradebook. if ( $ this -> get_instance ( ) -> markingworkflow && ! empty ( $ grade ) && $ this -> get_grading_status ( $ grade -> userid ) != ASSIGN_MARKING_WORKFLOW_STATE_RELEASED ) { // Remove the grade (if it exists) from the gradebook as it is not 'final'. $ grade -> grade = - 1 ; $ grade -> feedbacktext = '' ; $ grade -> feebackfiles = [ ] ; } if ( $ submission != null ) { if ( $ submission -> userid == 0 ) { // This is a group submission update. $ team = groups_get_members ( $ submission -> groupid , 'u.id' ) ; foreach ( $ team as $ member ) { $ membersubmission = clone $ submission ; $ membersubmission -> groupid = 0 ; $ membersubmission -> userid = $ member -> id ; $ this -> gradebook_item_update ( $ membersubmission , null ) ; } return ; } $ gradebookgrade = $ this -> convert_submission_for_gradebook ( $ submission ) ; } else { $ gradebookgrade = $ this -> convert_grade_for_gradebook ( $ grade ) ; } // Grading is disabled, return. if ( $ this -> grading_disabled ( $ gradebookgrade [ 'userid' ] ) ) { return false ; } $ assign = clone $ this -> get_instance ( ) ; $ assign -> cmidnumber = $ this -> get_course_module ( ) -> idnumber ; // Set assign gradebook feedback plugin status (enabled and visible). $ assign -> gradefeedbackenabled = $ this -> is_gradebook_feedback_enabled ( ) ; return assign_grade_item_update ( $ assign , $ gradebookgrade ) == GRADE_UPDATE_OK ; }
docstring: Update grades in the gradebook.
  
  @param mixed $submission stdClass|null
  @param mixed $grade stdClass|null
  @return bool
docstring_tokens: Update grades in the gradebook .