You are here

TermDeleteForm.php in Zircon Profile 8.0

Same filename and directory in other branches
  1. 8 core/modules/taxonomy/src/Form/TermDeleteForm.php

File

core/modules/taxonomy/src/Form/TermDeleteForm.php
View source
<?php

/**
 * @file
 * Contains \Drupal\taxonomy\Form\TermDeleteForm.
 */
namespace Drupal\taxonomy\Form;

use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Entity\ContentEntityDeleteForm;
use Drupal\Core\Url;

/**
 * Provides a deletion confirmation form for taxonomy term.
 */
class TermDeleteForm extends ContentEntityDeleteForm {

  /**
   * {@inheritdoc}
   */
  public function getCancelUrl() {

    // The cancel URL is the vocabulary collection, terms have no global
    // list page.
    return new Url('entity.taxonomy_vocabulary.collection');
  }

  /**
   * {@inheritdoc}
   */
  protected function getRedirectUrl() {
    return $this
      ->getCancelUrl();
  }

  /**
   * {@inheritdoc}
   */
  public function getDescription() {
    return $this
      ->t('Deleting a term will delete all its children if there are any. This action cannot be undone.');
  }

  /**
   * {@inheritdoc}
   */
  protected function getDeletionMessage() {
    return $this
      ->t('Deleted term %name.', array(
      '%name' => $this->entity
        ->label(),
    ));
  }

  /**
   * {@inheritdoc}
   */
  public function submitForm(array &$form, FormStateInterface $form_state) {
    parent::submitForm($form, $form_state);

    /** @var \Drupal\Core\Entity\ContentEntityInterface $term */
    $term = $this
      ->getEntity();
    if ($term
      ->isDefaultTranslation()) {
      $storage = $this->entityManager
        ->getStorage('taxonomy_vocabulary');
      $vocabulary = $storage
        ->load($this->entity
        ->bundle());

      // @todo Move to storage http://drupal.org/node/1988712
      taxonomy_check_vocabulary_hierarchy($vocabulary, array(
        'tid' => $term
          ->id(),
      ));
    }
  }

}

Classes

Namesort descending Description
TermDeleteForm Provides a deletion confirmation form for taxonomy term.