Overrides Drupal\Core\Entity\EntityFormController::save().
Overrides EntityFormController::save
public function save(array $form, array &$form_state) {
$menu = $this->entity;
$system_menus = menu_list_system_menus();
if (!$menu
->isNew() || isset($system_menus[$menu
->id()])) {
menu_overview_form_submit($form, $form_state);
}
if ($menu
->isNew()) {
// Add 'menu-' to the menu name to help avoid name-space conflicts.
$menu
->set('id', 'menu-' . $menu
->id());
}
$status = $menu
->save();
$uri = $menu
->uri();
if ($status == SAVED_UPDATED) {
drupal_set_message(t('Menu %label has been updated.', array(
'%label' => $menu
->label(),
)));
watchdog('menu', 'Menu %label has been updated.', array(
'%label' => $menu
->label(),
), WATCHDOG_NOTICE, l(t('Edit'), $uri['path'] . '/edit'));
}
else {
drupal_set_message(t('Menu %label has been added.', array(
'%label' => $menu
->label(),
)));
watchdog('menu', 'Menu %label has been added.', array(
'%label' => $menu
->label(),
), WATCHDOG_NOTICE, l(t('Edit'), $uri['path'] . '/edit'));
}
$form_state['redirect'] = 'admin/structure/menu/manage/' . $menu
->id();
}