public function addAction($id, Request $request) { if (!$this->get('security.context')->isGranted('ROLE_USER')) { throw new AccessDeniedException('Accès limité aux personnes avec le ROLE_USER.'); } $Commentaire = new Commentaire(); $user = $this->getUser(); $Commentaire->setAuteur($user->getUsername()); $em = $this->getDoctrine()->getManager(); $article = $em->getRepository('VFBlogBundle:article')->find($id); $Commentaire->setArticle($article); $form = $this->createForm(new CommentaireType(), $Commentaire); if ($form->handleRequest($request)->isValid()) { $em = $this->getDoctrine()->getManager(); $em->persist($Commentaire); $em->flush(); $request->getSession()->getFlashBag()->add('notice', 'Commentaire bien enregistré.'); return $this->render('VFBlogBundle:Commentaire:voir.html.twig', array('commentaire' => $Commentaire)); } // À ce stade : // - Soit la requête est de type GET, donc le visiteur vient d'arriver sur la page et veut voir le formulaire // - Soit la requête est de type POST, mais le formulaire n'est pas valide, donc on l'affiche de nouveau return $this->render('VFBlogBundle:Commentaire:formCommentaire.html.twig', array('form' => $form->createView(), 'Commentaire' => $Commentaire, 'user' => $user)); }
/** * {@inheritDoc} */ public function setArticle(\VF\BlogBundle\Entity\article $article) { $this->__initializer__ && $this->__initializer__->__invoke($this, 'setArticle', [$article]); return parent::setArticle($article); }