You are here

public static function CancelTmgmtActionApproveForm::processBatch in TMGMT Extension Suite 8.3

Same name and namespace in other branches
  1. 8 src/Form/CancelTmgmtActionApproveForm.php \Drupal\tmgmt_extension_suit\Form\CancelTmgmtActionApproveForm::processBatch()
  2. 8.2 src/Form/CancelTmgmtActionApproveForm.php \Drupal\tmgmt_extension_suit\Form\CancelTmgmtActionApproveForm::processBatch()

Processes the sending batch.

Parameters

array $data: Keyed array of data to send.

array $context: The batch context.

Return value

\Drupal\tmgmt\JobInterface|mixed Returns TMGMT job on success and FALSE otherwise.

Overrides BaseTmgmtActionApproveForm::processBatch

File

src/Form/CancelTmgmtActionApproveForm.php, line 50

Class

CancelTmgmtActionApproveForm
Provides a confirmation form for sending multiple content entities.

Namespace

Drupal\tmgmt_extension_suit\Form

Code

public static function processBatch(array $data, array &$context) {
  $job = parent::processBatch($data, $context);
  if (!empty($job) && !$job
    ->abortTranslation()) {
    $context['results']['count']++;

    // This is the case when a translator does not support the abort
    // operation.
    // It would make more sense to not display the button for the action,
    // however we do not know if the translator is able to abort a job until
    // we trigger the action.
    foreach ($job
      ->getMessagesSince() as $message) {

      /** @var \Drupal\tmgmt\MessageInterface $message */
      if ($message
        ->getType() == 'debug') {
        continue;
      }
      if ($text = $message
        ->getMessage()) {

        // We want to persist also the type therefore we will set the
        // messages directly and not return them.
        \Drupal::messenger()
          ->addMessage($text, $message
          ->getType());
      }
    }
  }
  else {
    $context['results']['errors'][] = new FormattableMarkup('Error aborting %name', [
      '%name' => $job
        ->label(),
    ]);
    return;
  }
  $context['message'] = new FormattableMarkup('Processed %name.', [
    '%name' => $job
      ->label(),
  ]);
}