/** * @Route("/placeholder/edit", name="lc_dev_not_placeholder_edit") * @Template() */ public function placeholderEditAction(Request $request) { $form = $this->container->get('form.factory')->create($this->container->get('procergs_logincidadao.placeholder.form.type')); $placeholder = null; $em = $this->getDoctrine()->getManager(); if (($id = $request->get('id')) || ($data = $request->get($form->getName())) && ($id = $data['id'])) { $placeholder = $em->getRepository('PROCERGSLoginCidadaoNotificationBundle:Placeholder')->createQueryBuilder('u')->join('PROCERGSLoginCidadaoNotificationBundle:Category', 'cat', 'with', 'u.category = cat')->join('PROCERGSOAuthBundle:Client', 'c', 'with', 'cat.client = c')->where(':person MEMBER OF c.owners')->andWhere('u.id = :id')->setParameter('person', $this->getUser())->setParameter('id', $id)->orderBy('u.id', 'desc')->getQuery()->getSingleResult(); } elseif (($categoryId = $request->get('category_id')) || ($data = $request->get($form->getName())) && ($categoryId = $data['category'])) { $category = $em->getRepository('PROCERGSLoginCidadaoNotificationBundle:Category')->createQueryBuilder('u')->join('PROCERGSOAuthBundle:Client', 'c', 'with', 'u.client = c')->where(':person MEMBER OF c.owners')->andWhere('u.id = :id')->setParameter('person', $this->getUser())->setParameter('id', $categoryId)->orderBy('u.id', 'desc')->getQuery()->getSingleResult(); $placeholder = new Placeholder(); $placeholder->setCategory($category); } if (!$placeholder) { die('dunno'); } $form = $this->container->get('form.factory')->create($this->container->get('procergs_logincidadao.placeholder.form.type'), $placeholder); $form->handleRequest($request); if ($form->isValid()) { $em->persist($placeholder); $em->flush(); $resp = new Response('<script>placeholderGrid.getGrid();</script>'); return $resp; } return array('form' => $form->createView()); }
public function __construct(Placeholder $placeholder) { $this->placeholder = $placeholder; $this->value = $placeholder->getDefault(); }