You are here

protected function LingotekManagementFormBase::redirectToDeleteTranslationForm in Lingotek Translation 3.2.x

Same name and namespace in other branches
  1. 8.2 src/Form/LingotekManagementFormBase.php \Drupal\lingotek\Form\LingotekManagementFormBase::redirectToDeleteTranslationForm()
  2. 4.0.x src/Form/LingotekManagementFormBase.php \Drupal\lingotek\Form\LingotekManagementFormBase::redirectToDeleteTranslationForm()
  3. 3.0.x src/Form/LingotekManagementFormBase.php \Drupal\lingotek\Form\LingotekManagementFormBase::redirectToDeleteTranslationForm()
  4. 3.1.x src/Form/LingotekManagementFormBase.php \Drupal\lingotek\Form\LingotekManagementFormBase::redirectToDeleteTranslationForm()
  5. 3.3.x src/Form/LingotekManagementFormBase.php \Drupal\lingotek\Form\LingotekManagementFormBase::redirectToDeleteTranslationForm()
  6. 3.4.x src/Form/LingotekManagementFormBase.php \Drupal\lingotek\Form\LingotekManagementFormBase::redirectToDeleteTranslationForm()
  7. 3.5.x src/Form/LingotekManagementFormBase.php \Drupal\lingotek\Form\LingotekManagementFormBase::redirectToDeleteTranslationForm()
  8. 3.6.x src/Form/LingotekManagementFormBase.php \Drupal\lingotek\Form\LingotekManagementFormBase::redirectToDeleteTranslationForm()
  9. 3.7.x src/Form/LingotekManagementFormBase.php \Drupal\lingotek\Form\LingotekManagementFormBase::redirectToDeleteTranslationForm()
  10. 3.8.x src/Form/LingotekManagementFormBase.php \Drupal\lingotek\Form\LingotekManagementFormBase::redirectToDeleteTranslationForm()

Redirect to delete specific translation form.

Parameters

array $values: Array of ids to delete.

1 call to LingotekManagementFormBase::redirectToDeleteTranslationForm()
LingotekManagementFormBase::submitForm in src/Form/LingotekManagementFormBase.php
Form submission handler.

File

src/Form/LingotekManagementFormBase.php, line 952

Class

LingotekManagementFormBase
Form for bulk management of content.

Namespace

Drupal\lingotek\Form

Code

protected function redirectToDeleteTranslationForm($values, $langcode, FormStateInterface $form_state) {
  $entityInfo = [];
  $entities = $this
    ->getSelectedEntities($values);
  foreach ($entities as $entity) {
    $source_language = $entity
      ->getUntranslated()
      ->language();
    if ($source_language
      ->getId() !== $langcode && $entity
      ->hasTranslation($langcode)) {

      /** @var \Drupal\Core\Entity\ContentEntityInterface $entity */
      $entityInfo[$entity
        ->id()][$langcode] = $langcode;
    }
  }
  if (!empty($entityInfo)) {
    $this->tempStoreFactory
      ->get('entity_delete_multiple_confirm')
      ->set($this
      ->currentUser()
      ->id() . ':' . $this->entityTypeId, $entityInfo);
    $form_state
      ->setRedirectUrl(Url::fromUserInput($entity
      ->getEntityType()
      ->getLinkTemplate('delete-multiple-form'), [
      'query' => $this
        ->getDestinationWithQueryArray(),
    ]));
  }
  else {
    $this
      ->messenger()
      ->addWarning($this
      ->t('No valid translations for deletion.'));

    // Ensure selection is persisted.
    $form_state
      ->setRebuild();
  }
}