NavigationController: Rerender the layout when editing a menu entry

refs #5600
This commit is contained in:
Johannes Meyer 2015-09-24 14:05:57 +02:00
parent c4df7e05be
commit b7ef951e57
1 changed files with 12 additions and 6 deletions

View File

@ -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;
}