Exemplo n.º 1
0
 public function annulerAction(MaritimeReservation $reservation)
 {
     $user = $this->get('security.context')->getToken()->getUser();
     $em = $this->getDoctrine()->getManager();
     $request = $this->getRequest();
     $session = $this->getRequest()->getSession();
     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);
         }
         $em->persist($reservation->setValidated(NULL)->setEtat(9)->setCommentaire($request->get('commentaire')));
         $em->flush();
         $this->container->get('mailerservice')->annulation($reservation, 'M');
         $session->getFlashBag()->add('success', "Réservation a été annullée avec succès ");
     }
     return $this->redirect($this->generateUrl("back_maritime_reservation_consultation", array('id' => $reservation->getId())));
 }