public function reservationAction($slug, Pack $pack)
 {
     $em = $this->getDoctrine()->getManager();
     $session = $this->getRequest()->getSession();
     $request = $this->getRequest();
     $user = $this->get('security.context')->getToken()->getUser();
     if ($this->container->get('security.context')->isGranted('IS_AUTHENTICATED_FULLY') && !is_null($user->getClient())) {
         $client = $user->getClient();
     } else {
         $client = $this->container->get('users')->getPassager();
     }
     $form = $this->createFormBuilder()->add("client", new ClientType(), array('data' => $client));
     $form = $form->getForm();
     if ($request->isMethod('POST')) {
         $form->submit($request);
         $data = $request->request->all();
         $nbrPassagers = 0;
         if (isset($data['chambresingle'])) {
             $nbrPassagers += $data['chambresingle'];
         } else {
             $data['chambresingle'] = 0;
         }
         if (isset($data['chambredouble'])) {
             $nbrPassagers += $data['chambredouble'] * 2;
         } else {
             $data['chambredouble'] = 0;
         }
         if (isset($data['chambretriple'])) {
             $nbrPassagers += $data['chambretriple'] * 3;
         } else {
             $data['chambretriple'] = 0;
         }
         if (isset($data['chambrequadruple'])) {
             $nbrPassagers += $data['chambrequadruple'] * 4;
         } else {
             $data['chambrequadruple'] = 0;
         }
         if ($nbrPassagers == 0) {
             $session->getFlashBag()->add('Erreur', "Vous devrez choisir au moin une chambre.");
             return $this->redirect($this->generateUrl('front_voyageorganise_reservation', array('slug' => $slug, 'pack' => $pack->getId())));
         } elseif ($pack->getPeriode()->getDepartGarantie() && $nbrPassagers < $pack->getPeriode()->getMin()) {
             $session->getFlashBag()->add('Erreur', "Vous devrez choisir au moin " . $pack->getPeriode()->getMin() . " personnes.");
             return $this->redirect($this->generateUrl('front_voyageorganise_reservation', array('slug' => $slug, 'pack' => $pack->getId())));
         }
         return $this->redirect($this->generateUrl('front_voyageorganise_thankyou', array('slug' => $slug, 'reservation' => $this->container->get('reservationVO')->saveReservation($pack, $client, $data, 'frontoffice'))));
     }
     return $this->render('FrontGeneralBundle:voyageorganise:reservation.html.twig', array('form' => $form->createView(), 'csrf_token' => $this->container->get('form.csrf_provider')->generateCsrfToken('authenticate'), 'periode' => $pack->getPeriode(), 'pack' => $pack));
 }