public function creesejourpourinviteAction($id, Request $request) { $em = $this->getDoctrine()->getManager(); $personne = $em->getRepository('VFCrotoyBundle:Personne')->find($id); $sejour = new sejour(); $sejour->setPersonne($personne); $repository = $this->getDoctrine()->getManager()->getRepository('VFCrotoyBundle:sejour'); $form = $this->createForm(new sejourType(), $sejour); if ($form->handleRequest($request)->isValid()) { $booking = new Booking(); $booking->setStart($sejour->getDebut()); $booking->setEnd($sejour->getFin()); $booking->setSejour($sejour); $em = $this->getDoctrine()->getManager(); $em->persist($sejour); $em->persist($booking); $em->flush(); $request->getSession()->getFlashBag()->add('notice', 'Séjour bien enregistré.'); return $this->render('VFCrotoyBundle:Proprietaire:confirmationreserv.html.twig', array('sejour' => $sejour, 'locataire' => $personne)); } // À ce stade : // - Soit la requête est de type GET, donc le visiteur vient d'arriver sur la page et veut voir le formulaire // - Soit la requête est de type POST, mais le formulaire n'est pas valide, donc on l'affiche de nouveau return $this->render('VFCrotoyBundle:Proprietaire:add.html.twig', array('form' => $form->createView())); }
/** * {@inheritDoc} */ public function setSejour(\VF\CrotoyBundle\Entity\sejour $sejour) { $this->__initializer__ && $this->__initializer__->__invoke($this, 'setSejour', [$sejour]); return parent::setSejour($sejour); }
public function addAction(Request $request) { if (!$this->get('security.context')->isGranted('ROLE_RESERVANT')) { throw new AccessDeniedException('Accès limité aux personnes avec le ROLE_RESERVANT.'); } $sejour = new sejour(); $user = $this->getUser(); $personne = $user->getPersonne(); $sejour->setPersonne($personne); $form = $this->createForm(new sejourType(), $sejour); if ($form->handleRequest($request)->isValid()) { $booking = new Booking(); $booking->setStart($sejour->getDebut()); $booking->setEnd($sejour->getFin()); $booking->setSejour($sejour); $em = $this->getDoctrine()->getManager(); $em->persist($sejour); $em->persist($booking); $em->flush(); $request->getSession()->getFlashBag()->add('notice', 'Séjour bien enregistré.'); return $this->render('VFCrotoyBundle:Reservation:confirmationreserv.html.twig', array('sejour' => $sejour, 'locataire' => $personne)); } // À ce stade : // - Soit la requête est de type GET, donc le visiteur vient d'arriver sur la page et veut voir le formulaire // - Soit la requête est de type POST, mais le formulaire n'est pas valide, donc on l'affiche de nouveau return $this->render('VFCrotoyBundle:Reservation:add.html.twig', array('form' => $form->createView(), 'personne' => $personne)); }