public function GenererAction(Hotel $hotel) { $em = $this->getDoctrine()->getManager(); $session = $this->getRequest()->getSession(); $data = array(); $form = $this->createFormBuilder()->add('libelle', 'text')->add('type', 'choice', array('choices' => array('1' => 'Saison', '2' => 'Promotion', '4' => 'Contingent', '3' => 'Amicales'), 'required' => TRUE, 'empty_value' => 'Type de saison', 'empty_data' => NULL))->add('saisons', 'entity', array('class' => 'BackHotelTunisieBundle:Saison', 'query_builder' => function (EntityRepository $er) use($hotel) { return $er->createQueryBuilder('s')->where('s.hotel = :id')->setParameter('id', $hotel->getId())->orderBy('s.id', 'desc'); }, 'property' => 'contratLibelle', 'required' => FALSE, 'empty_value' => 'Saison de base', 'empty_data' => NULL))->add('contrats', 'entity', array('class' => 'BackHotelTunisieBundle:Contrat', 'query_builder' => function (EntityRepository $er) use($hotel) { return $er->createQueryBuilder('c')->where('c.hotel = :id')->setParameter('id', $hotel->getId())->orderBy('c.id', 'desc'); }, 'required' => TRUE, 'attr' => array('required' => TRUE)))->getForm(); $request = $this->getRequest(); if ($request->isMethod("POST")) { $form->submit($request); $data = $form->getData(); if ($data['saisons'] == NULL) { $Saison = $hotel->getSaisonBase(); } else { $Saison = $data['saisons']; } $newSaison = clone $Saison; $newSaison->setContrat($data['contrats']); $newSaison->setHotelBase(NULL); $newSaison->setHotel($hotel); $newSaison->setLibelle($data['libelle']); $newSaison->setType($data['type']); $newSaison->setCreated(new \DateTime()); $em->persist($newSaison); foreach ($Saison->getArrangements() as $entity) { $newEntity = clone $entity; $em->persist($newEntity->setSaison($newSaison)); } foreach ($Saison->getAutresReductions() as $entity) { $newEntity = clone $entity; $em->persist($newEntity->setSaison($newSaison)); } foreach ($Saison->getAutresSupplements() as $entity) { $newEntity = clone $entity; $em->persist($newEntity->setSaison($newSaison)); } foreach ($Saison->getChambres() as $entity) { $newEntity = clone $entity; $em->persist($newEntity->setSaison($newSaison)); } foreach ($Saison->getSuppChambres() as $entity) { $newEntity = clone $entity; $em->persist($newEntity->setSaison($newSaison)); } foreach ($Saison->getVues() as $entity) { $newEntity = clone $entity; $em->persist($newEntity->setSaison($newSaison)); } $em->flush(); $session->getFlashBag()->add('success', " Votre saison a été générer avec succées "); return $this->redirect($this->generateUrl("PeriodeSaison", array('id' => $newSaison->getId()))); } return $this->render('BackHotelTunisieBundle:Saisons:generer.html.twig', array('hotel' => $hotel, 'form' => $form->createView())); }
public function deleteAutreReducAction(Hotel $hotel, SaisonAutreReduc $saisonAutreReduc) { $em = $this->getDoctrine()->getManager(); $session = $this->getRequest()->getSession(); $em->remove($saisonAutreReduc); $em->flush(); $session->getFlashBag()->add('success', "La réduction a été supprimée avec succées"); return $this->redirect($this->generateUrl("saison_autres_reduc", array('id' => $hotel->getId()))); }
public function photosAction(Hotel $hotel) { $em = $this->getDoctrine()->getManager(); $session = $this->getRequest()->getSession(); $session->set("routing", $this->generateUrl("photos_hotel", array('id' => $hotel->getId()))); $media = new Media(); $media->setHotel($hotel); $form = $this->createForm(new MediaType(), $media); $request = $this->getRequest(); if ($request->isMethod("POST")) { $form->bind($request); if ($form->isValid()) { $media = $form->getData(); $em->persist($media); $em->flush(); $session->getFlashBag()->add('success', " Votre Photo a été ajoutée avec succées "); return $this->redirect($this->generateUrl("photos_hotel", array('id' => $hotel->getId()))); } } return $this->render('BackHotelTunisieBundle:Hotels:photo.html.twig', array('hotel' => $hotel, 'form' => $form->createView(), 'images' => $hotel->getImages())); }