Networking\InitCmsBundle\Controller\MenuItemAdminController::newPlacementAction PHP Method

newPlacementAction() public method

public newPlacementAction ( Request $request, $newMenuItemId, $menuItemId ) : Response
$request Symfony\Component\HttpFoundation\Request
$newMenuItemId
$menuItemId
return Symfony\Component\HttpFoundation\Response
    public function newPlacementAction(Request $request, $newMenuItemId, $menuItemId)
    {
        $sibling = $request->get('sibling');
        /** @var MenuItemManager $menuItemManager */
        $menuItemManager = $this->get('networking_init_cms.menu_item_manager');
        $newMenuItem = $menuItemManager->find($newMenuItemId);
        $menuItem = $menuItemManager->find($menuItemId);
        if (!$newMenuItem || !$menuItem) {
            throw new NotFoundHttpException();
        }
        $data = array();
        try {
            if ($sibling) {
                $menuItemManager->persistAsNextSiblingOf($newMenuItem, $menuItem);
            } else {
                $menuItemManager->persistAsFirstChildOf($newMenuItem, $menuItem);
            }
            $this->getDoctrine()->getManager()->flush();
            $data = array('result' => 'ok', 'objectId' => $this->admin->getNormalizedIdentifier($newMenuItem));
            return $this->renderJson($data);
        } catch (\Exception $e) {
            return $this->renderJson($data);
        }
    }