public function changePositionAction()
    {
        $request = $this->getRequest();
        if ($request->isXmlHttpRequest())
        {
            $em = $this->getDoctrine()->getManager();
            $pageRepository = $this->getDoctrine()->getRepository('FulgurioLightCMSBundle:Page');
            $page = $this->getPage($request->request->get('pageId'));
            $parentId = $request->request->get('parentId');
            $position = $request->request->get('position');
            if ($parentId != $page->getParent()->getId())
            {
                $pageRepository->downPagesPosition($parentId, $position);
                $pageRepository->upPagesPosition($page->getParent(), $page->getPosition() + 1);
                $page->setParent($pageRepository->find($parentId));
                $models = $this->container->getParameter('fulgurio_light_cms.models');
                $formHandlerClassName = isset($models[$page->getModel()]['back']['handler']) ? $models[$page->getModel()]['back']['handler'] : '\Fulgurio\LightCMSBundle\Form\Handler\AdminPageHandler';
                $formHandler = new $formHandlerClassName();
                $formHandler->setDoctrine($this->getDoctrine());
                $formHandler->makeFullpath($page);
                $em->persist($page);
                $em->flush();
            }
            else
            {
                if ($position > $page->getPosition())
                {
                    $pageRepository->upPagesPosition($page->getParent(), $page->getPosition() + 1, $position - 1);
                    --$position;
                }
                else
                {
                    $pageRepository->downPagesPosition($page->getParent(), $position, $page->getPosition() - 1);
                }
            }
            $page->setPosition($position);
            $em->persist($page);
            $em->flush();
            $response = new Response(json_encode(array('code' => 42)));
            $response->headers->set('Content-Type', 'application/json');
            return $response;
        }
        throw new AccessDeniedException();
    }
public function changePositionAction()
    {
        $request = $this->getRequest();
        if ($request->isXmlHttpRequest())
        {
            $em = $this->getDoctrine()->getManager();
            $pageRepository = $this->getDoctrine()->getRepository('FulgurioLightCMSBundle:Page');
            $page = $this->getPage($request->request->get('pageId'));
            $parentId = $request->request->get('parentId');
            $position = $request->request->get('position');
            if ($parentId != $page->getParent()->getId())
            {
                $pageRepository->downPagesPosition($parentId, $position);
                $pageRepository->upPagesPosition($page->getParent(), $page->getPosition() + 1);
                $page->setParent($pageRepository->find($parentId));
                $models = $this->container->getParameter('fulgurio_light_cms.models');
                $formHandlerClassName = isset($models[$page->getModel()]['back']['handler']) ? $models[$page->getModel()]['back']['handler'] : '\Fulgurio\LightCMSBundle\Form\Handler\AdminPageHandler';
                $formHandler = new $formHandlerClassName();
                $formHandler->setDoctrine($this->getDoctrine());
                $formHandler->makeFullpath($page);
                $em->persist($page);
                $em->flush();
            }
            else
            {
                if ($position > $page->getPosition())
                {
                    $pageRepository->upPagesPosition($page->getParent(), $page->getPosition() + 1, $position - 1);
                    --$position;
                }
                else
                {
                    $pageRepository->downPagesPosition($page->getParent(), $position, $page->getPosition() - 1);
                }
            }
            $page->setPosition($position);
            $em->persist($page);
            $em->flush();
            $response = new Response(json_encode(array('code' => 42)));
            $response->headers->set('Content-Type', 'application/json');
            return $response;
        }
        throw new AccessDeniedException();
    }
public function changePositionAction ( ) { $ request = $ this -> getRequest ( ) ; if ( $ request -> isXmlHttpRequest ( ) ) { $ em = $ this -> getDoctrine ( ) -> getManager ( ) ; $ pageRepository = $ this -> getDoctrine ( ) -> getRepository ( 'FulgurioLightCMSBundle:Page' ) ; $ page = $ this -> getPage ( $ request -> request -> get ( 'pageId' ) ) ; $ parentId = $ request -> request -> get ( 'parentId' ) ; $ position = $ request -> request -> get ( 'position' ) ; if ( $ parentId != $ page -> getParent ( ) -> getId ( ) ) { $ pageRepository -> downPagesPosition ( $ parentId , $ position ) ; $ pageRepository -> upPagesPosition ( $ page -> getParent ( ) , $ page -> getPosition ( ) + 1 ) ; $ page -> setParent ( $ pageRepository -> find ( $ parentId ) ) ; $ models = $ this -> container -> getParameter ( 'fulgurio_light_cms.models' ) ; $ formHandlerClassName = isset ( $ models [ $ page -> getModel ( ) ] [ 'back' ] [ 'handler' ] ) ? $ models [ $ page -> getModel ( ) ] [ 'back' ] [ 'handler' ] : '\Fulgurio\LightCMSBundle\Form\Handler\AdminPageHandler' ; $ formHandler = new $ formHandlerClassName ( ) ; $ formHandler -> setDoctrine ( $ this -> getDoctrine ( ) ) ; $ formHandler -> makeFullpath ( $ page ) ; $ em -> persist ( $ page ) ; $ em -> flush ( ) ; } else { if ( $ position > $ page -> getPosition ( ) ) { $ pageRepository -> upPagesPosition ( $ page -> getParent ( ) , $ page -> getPosition ( ) + 1 , $ position - 1 ) ; -- $ position ; } else { $ pageRepository -> downPagesPosition ( $ page -> getParent ( ) , $ position , $ page -> getPosition ( ) - 1 ) ; } } $ page -> setPosition ( $ position ) ; $ em -> persist ( $ page ) ; $ em -> flush ( ) ; $ response = new Response ( json_encode ( array ( 'code' => 42 ) ) ) ; $ response -> headers -> set ( 'Content-Type' , 'application/json' ) ; return $ response ; } throw new AccessDeniedException ( ) ; }
Change page position using ajax tree

@return type
@throws AccessDeniedException
Change page position using ajax tree