Пример #1
0
 public function createFromPassage(Passage $passage)
 {
     $rdv = $passage->getRendezVous();
     if ($rdv) {
         throw new \Exception('Le rendez vous est déjà créé');
     }
     $rdv = new RendezVous();
     $rdv->setPassage($passage);
     $rdv->setTitre(sprintf("%s (%s %s)", $passage->getEtablissementInfos()->getNom(), $passage->getEtablissementInfos()->getAdresse()->getCodePostal(), $passage->getEtablissementInfos()->getAdresse()->getCommune()));
     $rdv->setDescription(null);
     $rdv->setLieu(sprintf("%s %s %s", $passage->getEtablissementInfos()->getAdresse()->getAdresse(), $passage->getEtablissementInfos()->getAdresse()->getCodePostal(), $passage->getEtablissementInfos()->getAdresse()->getCommune()));
     $rdv->removeAllParticipants();
     foreach ($passage->getTechniciens() as $technicien) {
         $rdv->addParticipant($technicien);
     }
     $passage->setRendezVous($rdv);
     if ($passage->getDateDebut() && $passage->getDateFin()) {
         $rdv->setDateDebut($passage->getDateDebut());
         $rdv->setDateFin($passage->getDateFin());
     }
     return $rdv;
 }
Пример #2
0
 /**
  * @Route("/calendar/add/libre", name="calendarAddLibre", options={"expose" = "true"})
  */
 public function calendarAddLibreAction(Request $request)
 {
     $dm = $this->get('doctrine_mongodb')->getManager();
     $rdv = new RendezVous();
     $rdv->setDateDebut(new \DateTime($request->get('start')));
     $dateFin = clone $rdv->getDateDebut();
     $dateFin = $dateFin->modify("+1 hour");
     $rdv->setDateFin($dateFin);
     if ($request->get('technicien')) {
         $rdv->addParticipant($dm->getRepository('AppBundle:Compte')->findOneById($request->get('technicien')));
     }
     $form = $this->createForm(new RendezVousType($dm), $rdv, array('action' => $this->generateUrl('calendarAddLibre'), 'method' => 'POST', 'attr' => array('id' => 'eventForm'), 'rdv_libre' => true));
     $form->handleRequest($request);
     if (!$form->isSubmitted() || !$form->isValid()) {
         return $this->render('calendar/rendezVous.html.twig', array('rdv' => $rdv, 'form' => $form->createView()));
     }
     $dm->persist($rdv);
     $dm->flush();
     return new Response(json_encode(array("success" => true)));
 }