original_string: public function processFieldUpdate(\Gems_Tracker_RespondentTrack $respTrack, $userId)
      {
          $agenda = $this->loader->getAgenda();
          $change = false;
          $token  = $respTrack->getFirstToken();
  
          if (! $token) {
              return;
          }
  
          do {
              if ($token->isCompleted()) {
                  continue;
              }
  
              $appId = $respTrack->getRoundAfterAppointmentId($token->getRoundId());
  
              // Not a round without appointment id
              if ($appId !== false) {
                  if ($appId) {
                      $appointment = $agenda->getAppointment($appId);
                  } else {
                      $appointment = null;
                  }
  
                  if ($appointment && $appointment->isActive()) {
                      $newCode = \GemsEscort::RECEPTION_OK;
                      $newText = null;
                  } else {
                      $newCode = 'skip';
                      $newText = $this->_('Skipped until appointment is set');
                  }
                  $oldCode = \GemsEscort::RECEPTION_OK === $newCode ? 'skip' : \GemsEscort::RECEPTION_OK;
                  $curCode = $token->getReceptionCode()->getCode();
                  // \MUtil_Echo::track($token->getTokenId(), $curCode, $oldCode, $newCode);
                  if (($oldCode === $curCode) && ($curCode !== $newCode)) {
                      $change = true;
                      $token->setReceptionCode($newCode, $newText, $userId);
                  }
              }
          } while ($token = $token->getNextToken());
  
          if ($change) {
              $respTrack->refresh();
          }
      }
code: public function processFieldUpdate(\Gems_Tracker_RespondentTrack $respTrack, $userId)
      {
          $agenda = $this->loader->getAgenda();
          $change = false;
          $token  = $respTrack->getFirstToken();
  
          if (! $token) {
              return;
          }
  
          do {
              if ($token->isCompleted()) {
                  continue;
              }
  
              $appId = $respTrack->getRoundAfterAppointmentId($token->getRoundId());
  
              // Not a round without appointment id
              if ($appId !== false) {
                  if ($appId) {
                      $appointment = $agenda->getAppointment($appId);
                  } else {
                      $appointment = null;
                  }
  
                  if ($appointment && $appointment->isActive()) {
                      $newCode = \GemsEscort::RECEPTION_OK;
                      $newText = null;
                  } else {
                      $newCode = 'skip';
                      $newText = $this->_('Skipped until appointment is set');
                  }
                  $oldCode = \GemsEscort::RECEPTION_OK === $newCode ? 'skip' : \GemsEscort::RECEPTION_OK;
                  $curCode = $token->getReceptionCode()->getCode();
                  // \MUtil_Echo::track($token->getTokenId(), $curCode, $oldCode, $newCode);
                  if (($oldCode === $curCode) && ($curCode !== $newCode)) {
                      $change = true;
                      $token->setReceptionCode($newCode, $newText, $userId);
                  }
              }
          } while ($token = $token->getNextToken());
  
          if ($change) {
              $respTrack->refresh();
          }
      }
code_tokens: public function processFieldUpdate ( \ Gems_Tracker_RespondentTrack $ respTrack , $ userId ) { $ agenda = $ this -> loader -> getAgenda ( ) ; $ change = false ; $ token = $ respTrack -> getFirstToken ( ) ; if ( ! $ token ) { return ; } do { if ( $ token -> isCompleted ( ) ) { continue ; } $ appId = $ respTrack -> getRoundAfterAppointmentId ( $ token -> getRoundId ( ) ) ; // Not a round without appointment id if ( $ appId !== false ) { if ( $ appId ) { $ appointment = $ agenda -> getAppointment ( $ appId ) ; } else { $ appointment = null ; } if ( $ appointment && $ appointment -> isActive ( ) ) { $ newCode = \ GemsEscort :: RECEPTION_OK ; $ newText = null ; } else { $ newCode = 'skip' ; $ newText = $ this -> _ ( 'Skipped until appointment is set' ) ; } $ oldCode = \ GemsEscort :: RECEPTION_OK === $ newCode ? 'skip' : \ GemsEscort :: RECEPTION_OK ; $ curCode = $ token -> getReceptionCode ( ) -> getCode ( ) ; // \MUtil_Echo::track($token->getTokenId(), $curCode, $oldCode, $newCode); if ( ( $ oldCode === $ curCode ) && ( $ curCode !== $ newCode ) ) { $ change = true ; $ token -> setReceptionCode ( $ newCode , $ newText , $ userId ) ; } } } while ( $ token = $ token -> getNextToken ( ) ) ; if ( $ change ) { $ respTrack -> refresh ( ) ; } }
docstring: Process the data and do what must be done
  
  Storing the changed $values is handled by the calling function.
  
  @param \Gems_Tracker_RespondentTrack $respTrack Gems respondent track object
  @param int   $userId The current userId
  @return void
docstring_tokens: Process the data and do what must be done