public function saisonBaseAction(Hotel $hotel) { $em = $this->getDoctrine()->getManager(); $session = $this->getRequest()->getSession(); $request = $this->getRequest(); if ($hotel->getFicheTechnique() == null) { $session->getFlashBag()->add('info', "Votre devez remplire la fiche technique"); return $this->redirect($this->generateUrl("fiche_technique", array('id' => $hotel->getId()))); } if ($hotel->getSaisonBase() != NULL) { $saison = $hotel->getSaisonBase(); } else { $saison = new Saison(); } $form = $this->createForm(new SaisonType(), $saison); $form->add("ArrBase", "entity", array('class' => 'BackHotelTunisieBundle:Arrangement', 'query_builder' => function (EntityRepository $er) use($hotel) { return $er->createQueryBuilder('a')->join("a.hotels", "h")->where('h.id = :id')->setParameter('id', $hotel->getId()); })); if ($request->isMethod("POST")) { $form->bind($request); if ($form->isValid()) { $saison = $form->getData(); $hotel->setSaisonBase($saison); $em->persist($saison->setLibelle("Saison de base")); foreach ($saison->getArrangements() as $arr) { if ($arr->getArrangement()->getId() == $saison->getArrBase()->getId()) { $em->remove($arr); } } $em->persist($hotel); $em->flush(); $session->getFlashBag()->add('success', " Votre saison de base a été modifié avec succées "); return $this->redirect($this->generateUrl("saison_base", array('id' => $hotel->getId()))); } } return $this->render('BackHotelTunisieBundle:SaisonBase:base.html.twig', array('hotel' => $hotel, 'form' => $form->createView())); }
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())); }