public function addAction(Request $request)
{
if (!$this->get('security.context')->isGranted('ROLE_ADMIN')) {
// Sinon on déclenche une exception « Accès interdit »
throw new AccessDeniedException('Accès limité aux auteurs.');
}
$news = new News();
$form = $this->createForm(new NewsType(), $news);
if ($form->handleRequest($request)->isValid()) {
$em = $this->getDoctrine()->getManager();
$em->persist($news);
$em->flush();
// Ici, on s'occupera de la création et de la gestion du formulaire
$request->getSession()->getFlashBag()->add('notice', 'news bien enregistrée.');
// Puis on redirige vers la page de visualisation de cettte annonce
return $this->redirect($this->generateUrl('sn_sys_news_view', array('id' => $news->getId())));
}
return $this->render('SNSysNewsBundle:News:add.html.twig', array('form'=>$form->createView(),));
}
c'est le code pour ajouter une news