Exemplo n.º 1
0
 /**
  * @Route("/edit/message/{id}", defaults={"id" = 1}, requirements={"id" = "\d+"}, name="covoiturage_my_edit_message")
  * @Template()
  */
 public function editMessageAction(Request $request, CovoitMessage $message)
 {
     if (!$this->getUserLayer()->isUser()) {
         return $this->createAccessDeniedResponse();
     }
     if ($message->getAuthor()->getId() != $this->getUser()->getId()) {
         throw new AccessDeniedHttpException();
     }
     $form = $this->createForm($this->get('etu.covoit.form.message'), $message);
     if ($request->getMethod() == 'POST' && $form->submit($request)->isValid()) {
         /** @var EntityManager $em */
         $em = $this->getDoctrine()->getManager();
         $em->persist($message);
         $em->flush();
         $this->get('session')->getFlashBag()->set('message', array('type' => 'success', 'message' => 'covoit.messages.message_edited'));
         return $this->redirect($this->generateUrl('covoiturage_view', ['id' => $message->getCovoit()->getId(), 'slug' => $message->getCovoit()->getStartCity()->getSlug() . '-' . $message->getCovoit()->getEndCity()->getSlug()]));
     }
     return ['form' => $form->createView(), 'covoitMessage' => $message];
 }