Esempio n. 1
0
 function create(Etablissement $etablissement, Contrat $contrat)
 {
     $passage = new Passage();
     $passage->setEtablissement($etablissement);
     foreach ($contrat->getPrestations() as $prestationContrat) {
         $prestation = clone $prestationContrat;
         $prestation->setNbPassages(0);
         $passage->addPrestation($prestation);
     }
     $previousPassage = null;
     foreach ($contrat->getPassagesEtablissementNode($etablissement)->getPassagesSorted(true) as $p) {
         if ($p->getId() != $passage->getId() && count($p->getTechniciens())) {
             $previousPassage = $p;
             break;
         }
     }
     if ($previousPassage) {
         foreach ($previousPassage->getTechniciens() as $tech) {
             $passage->addTechnicien($tech);
         }
     } elseif ($contrat->getTechnicien()) {
         $passage->addTechnicien($contrat->getTechnicien());
     }
     foreach ($contrat->getProduits() as $produitContrat) {
         $produit = clone $produitContrat;
         $produit->setNbUtilisePassage(0);
         $passage->addProduit($produit);
     }
     $passage->setContrat($contrat);
     return $passage;
 }
Esempio n. 2
0
 /**
  * @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()));
 }