예제 #1
0
 public function ficheTechniqueAction(Hotel $hotel)
 {
     $em = $this->getDoctrine()->getManager();
     $session = $this->getRequest()->getSession();
     if ($hotel->getFicheTechnique() != NULL) {
         $ficheTechnique = $hotel->getFicheTechnique();
     } else {
         $ficheTechnique = new FicheTechnique();
     }
     $form = $this->createForm(new FicheTechniqueType(), $ficheTechnique);
     $request = $this->getRequest();
     if ($request->isMethod("POST")) {
         $form->bind($request);
         if ($form->isValid()) {
             $ficheTechnique = $form->getData();
             if ($ficheTechnique->getMax1AgeEnfant() > $ficheTechnique->getMin1AgeEnfant() && $ficheTechnique->getMin1AgeEnfant() >= 0 && ($ficheTechnique->getMin2AgeEnfant() > $ficheTechnique->getMax1AgeEnfant() && $ficheTechnique->getMax2AgeEnfant() > $ficheTechnique->getMin2AgeEnfant() || $ficheTechnique->getMin2AgeEnfant() == 0 && $ficheTechnique->getMax2AgeEnfant() == 0)) {
                 $hotel->setFicheTechnique($ficheTechnique);
                 $em->persist($ficheTechnique);
                 $em->persist($hotel);
                 $em->flush();
                 $session->getFlashBag()->add('success', " Votre fiche technique a été modifié avec succées ");
                 return $this->redirect($this->generateUrl("fiche_technique", array('id' => $hotel->getId())));
             } else {
                 $session->getFlashBag()->add('danger', "les deux intervalles sont erronées");
             }
         }
     }
     return $this->render('BackHotelTunisieBundle:Hotels:fiche_technique.html.twig', array('hotel' => $hotel, 'form' => $form->createView()));
 }