public function updateNodes()
{
/** @var Request $request */
$request = $this->container->get('request_stack')->getCurrentRequest();
$nodes = $request->get('nodes') ? $request->get('nodes') : array();
try {
foreach ($nodes as $node) {
/** @var $menuItem MenuItem */
$menuItem = $this->admin->getObject($node['item_id']);
if ($node['parent_id']) {
$parent = $this->admin->getObject($node['parent_id']);
$menuItem->setParent($parent);
} else {
$menuItem->setParent($menuItem->getParentByLevel(0));
}
$menuItem->setLft($node['left']);
$menuItem->setRgt($node['right']);
$menuItem->setLvl($node['depth']);
$this->admin->update($menuItem);
}
$response = array('status' => 'ok', 'message' => $this->admin->trans('info.menu_sorted'));
} catch (\Exception $e) {
$response = array('status' => 'error', 'message' => $this->admin->trans('info.menu_sorted_error'));
}
return $response;
}