From b7ef951e57b463d0f67c7d943a7efba4567968d9 Mon Sep 17 00:00:00 2001 From: Johannes Meyer Date: Thu, 24 Sep 2015 14:05:57 +0200 Subject: [PATCH] NavigationController: Rerender the layout when editing a menu entry refs #5600 --- .../controllers/NavigationController.php | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/application/controllers/NavigationController.php b/application/controllers/NavigationController.php index 0a79c5468..57c6cea25 100644 --- a/application/controllers/NavigationController.php +++ b/application/controllers/NavigationController.php @@ -203,13 +203,15 @@ class NavigationController extends Controller $form->setUser($this->Auth()->getUser()); $form->setShareConfig(Config::app('navigation')); $form->setOnSuccess(function (NavigationConfigForm $form) use ($itemName) { + $data = array_map( + function ($v) { + return $v !== '' ? $v : null; + }, + $form->getValues() + ); + try { - $form->edit($itemName, array_map( - function ($v) { - return $v !== '' ? $v : null; - }, - $form->getValues() - )); + $form->edit($itemName, $data); } catch (NotFoundError $e) { throw $e; } catch (Exception $e) { @@ -218,6 +220,10 @@ class NavigationController extends Controller } if ($form->save()) { + if (isset($data['type']) && $data['type'] === 'menu-item') { + $form->getResponse()->setRerenderLayout(); + } + Notification::success(sprintf(t('Navigation item "%s" successfully updated'), $itemName)); return true; }