You are here

public function MenuDeleteForm::submitForm in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/modules/menu_ui/src/Form/MenuDeleteForm.php \Drupal\menu_ui\Form\MenuDeleteForm::submitForm()

Overrides EntityDeleteFormTrait::submitForm

File

core/modules/menu_ui/src/Form/MenuDeleteForm.php, line 81
Contains \Drupal\menu_ui\Form\MenuDeleteForm.

Class

MenuDeleteForm
Defines a confirmation form for deletion of a custom menu.

Namespace

Drupal\menu_ui\Form

Code

public function submitForm(array &$form, FormStateInterface $form_state) {

  // Locked menus may not be deleted.
  if ($this->entity
    ->isLocked()) {
    return;
  }

  // Delete all links to the overview page for this menu.
  // @todo Add a more generic helper function to the menu link plugin
  //   manager to remove links to a entity or other ID used as a route
  //   parameter that is being removed. Also, consider moving this to
  //   menu_ui.module as part of a generic response to entity deletion.
  //   https://www.drupal.org/node/2310329
  $menu_links = $this->menuLinkManager
    ->loadLinksByRoute('entity.menu.edit_form', array(
    'menu' => $this->entity
      ->id(),
  ), TRUE);
  foreach ($menu_links as $id => $link) {
    $this->menuLinkManager
      ->removeDefinition($id);
  }
  parent::submitForm($form, $form_state);
}