public function annulerAction(Reservation $reservation)
 {
     $user = $this->get('security.context')->getToken()->getUser();
     $em = $this->getDoctrine()->getManager();
     $request = $this->getRequest();
     $session = $this->getRequest()->getSession();
     $periode = $reservation->getPack()->getPeriode();
     if ($user->getId() == $reservation->getResponsable()->getId()) {
         foreach ($reservation->getReglements() as $reglement) {
             $piece = $reglement->getPiece();
             $em->persist($piece->setMontant($piece->getMontant() + $reglement->getMontant())->setRegle(FALSE)->setDateReglement(NULL));
             $em->remove($reglement);
         }
         if ($reservation->getEtat() == 2 && !$reservation->getPack()->getPeriode()->getDepartGarantie()) {
             $em->persist($periode->setNombreInscription($periode->getNombreInscription() - $reservation->getNombreOccupants()));
         }
         $em->persist($reservation->setValidated(NULL)->setEtat(9)->setCommentaire($request->get('commentaire')));
         $em->flush();
         $this->container->get('mailerservice')->annulation($reservation, 'VO');
         $session->getFlashBag()->add('success', "Réservation a été annullée avec succès ");
     }
     return $this->redirect($this->generateUrl("back_voyages_organises_reservation_consulter", array('id' => $reservation->getId())));
 }