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; }
/** * @Route("/passage/visualisation/{id}", name="passage_visualisation") * @ParamConverter("passage", class="AppBundle:Passage") */ public function visualisationAction(Request $request, Passage $passage) { if ($passage->getRendezVous()) { return $this->redirectToRoute('calendarRead', array('id' => $passage->getRendezVous()->getId())); } return $this->forward('AppBundle:Calendar:calendarRead', array('passage' => $passage->getId())); }