/** * @DI\Observe("widget_tag_list_configuration") */ public function onWidgetTagListConfiguration(ConfigureWidgetEvent $event) { /** @var \icap\BlogBundle\Entity\WidgetTagListBlog $widgetTagListBlog */ $widgetTagListBlog = $this->widgetManager->getWidgetTagListBlogByWdgetInstance($event->getInstance()); if (null === $widgetTagListBlog) { $widgetTagListBlog = new WidgetTagListBlog(); $widgetTagListBlog->setResourceNode($this->widgetManager->getResourceNodeOfWidgetTagListBlog($event->getInstance())); } $form = $this->formFactory->create($this->widgetTagListBlogType, $widgetTagListBlog); $content = $this->templatingEngine->render('IcapBlogBundle:widget:tagListBlogConfigure.html.twig', array('form' => $form->createView(), 'widgetInstance' => $event->getInstance())); $event->setContent($content); }
/** * @Route("/icap_blog/widget/tags/{id}/config", name="icap_blog_widget_tag_list_blog_configure", requirements={"id" = "\d+"}) * @Method("POST") */ public function updateWidgetTagListBlog(Request $request, WidgetInstance $widgetInstance) { if (!$this->get('security.authorization_checker')->isGranted('edit', $widgetInstance)) { throw new AccessDeniedException(); } $resourceNode = $this->getWidgetManager()->getResourceNodeOfWidgetTagListBlog($widgetInstance); $entityManager = $this->getDoctrine()->getManager(); /** @var \icap\BlogBundle\Entity\WidgetTagListBlog $widgetTagListBlog */ $widgetTagListBlog = $entityManager->getRepository('IcapBlogBundle:WidgetTagListBlog')->findOneByWidgetInstance($widgetInstance); if (null === $widgetTagListBlog) { $widgetTagListBlog = new WidgetTagListBlog(); $widgetTagListBlog->setResourceNode($resourceNode)->setWidgetInstance($widgetInstance); } /** @var Form $form */ $form = $this->get('form.factory')->create($this->get('icap_blog.form.widget_tag_list_blog'), $widgetTagListBlog); $form->handleRequest($request); if ($form->isValid()) { $entityManager->persist($widgetTagListBlog); $entityManager->flush(); return new Response('', Response::HTTP_NO_CONTENT); } return $this->render('IcapBlogBundle:widget:tagListBlogConfigure.html.twig', array('form' => $form->createView(), 'widgetInstance' => $widgetInstance)); }