Example #1
0
 public function periodeAction(Saison $saison)
 {
     $em = $this->getDoctrine()->getManager();
     $session = $this->getRequest()->getSession();
     $form = $this->createForm(new SaisonPeriodesType(), $saison->addPeriode(new Periode())->addPeriode(new Periode())->addPeriode(new Periode()));
     if ($saison->getType() == 3) {
         $form->add("amicales");
     }
     $request = $this->getRequest();
     if ($request->isMethod("POST")) {
         $form->submit($request);
         if ($form->isValid()) {
             $saison = $form->getData();
             foreach ($saison->getPeriodes() as $periode) {
                 if ($periode->getDateDebut() == NULL || $periode->getDateFin() == NULL || $periode->getDateFin()->format("Y-m-d") < $periode->getDateDebut()->format("Y-m-d")) {
                     $em->remove($periode);
                     $saison->removePeriode($periode);
                 } else {
                     $em->persist($periode->setSaison($saison));
                 }
             }
             $em->flush();
             $session->getFlashBag()->add('success', " Votre saison a été modifié avec succées ");
             return $this->redirect($this->generateUrl("PeriodeSaison", array('id' => $saison->getId())));
         }
     }
     return $this->render('BackHotelTunisieBundle:Saisons:periodes.html.twig', array('hotel' => $saison->getHotel(), 'saison' => $saison, 'form' => $form->createView()));
 }