Networking\InitCmsBundle\Controller\PageAdminController::unlinkAction PHP Method

unlinkAction() public method

public unlinkAction ( Request $request, $id, $translationId ) : RedirectResponse | Response
$request Symfony\Component\HttpFoundation\Request
$id
$translationId
return Symfony\Component\HttpFoundation\RedirectResponse | Symfony\Component\HttpFoundation\Response
    public function unlinkAction(Request $request, $id, $translationId)
    {
        /** @var PageInterface $page */
        $page = $this->admin->getObject($id);
        $translatedPage = $this->admin->getObject($translationId);
        if (!$page) {
            throw new NotFoundHttpException(sprintf('unable to find the Page with id : %s', $id));
        }
        if ($request->getMethod() == 'DELETE') {
            $page->removeTranslation($translatedPage);
            $translatedPage->removeTranslation($page);
            $this->admin->update($page);
            $this->admin->update($translatedPage);
            if ($this->isXmlHttpRequest()) {
                $html = $this->renderView('NetworkingInitCmsBundle:PageAdmin:page_translation_settings.html.twig', array('object' => $page, 'admin' => $this->admin));
                return $this->renderJson(array('result' => 'ok', 'html' => $html));
            }
            $this->get('session')->getFlashBag()->add('sonata_flash_success', 'flash_link_success');
            return new RedirectResponse($this->admin->generateUrl('edit', array('id' => $page->getId())));
        }
        return $this->render('NetworkingInitCmsBundle:PageAdmin:page_translation_unlink.html.twig', array('action' => 'unlink', 'page' => $page, 'translationId' => $translationId, 'admin' => $this->admin, 'translatedPage' => $translatedPage));
    }