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