/** * Do nothing and redirect to the page manager */ public function onPageAction(GadgetPageActionEvent $event) { $page = $event->getPage(); $url = $this->container->get('router')->getGenerator()->generate('keosu_core_views_page_manage'); if ($page->getName() === KeosuGadgetAuthenticationGadgetBundle::AUTHENTICATION_PAGE_NAME && $page->getTemplateId() == KeosuGadgetAuthenticationGadgetBundle::AUTHENTICATION_TEMPLATE_ID) { $event->setResponce(new RedirectResponse($url)); } }
/** * Delete the page from gadget config */ public function onPageAction(GadgetPageActionEvent $event) { $curPage = $event->getPage(); $gadget = $event->getGadget(); $pages = $gadget->getConfig()['page']; $newConfig = array(); $newConfig['page'] = array(); foreach ($pages as $page) { if ($page != $curPage->getId()) { $newConfig['page'][] = $page; } } $gadget->setConfig($newConfig); $em = $this->container->get('doctrine')->getManager(); $em->persist($gadget); $em->flush(); }