/** * Route qui génére le livret en bdd * @return \Symfony\Component\HttpFoundation\Response */ public function genererAction() { $odm = $this->get('doctrine_mongodb')->getManager(); $idApprenti = $this->getUser()->getId(); $livret = new Livret(); $livret->genererLivret($idApprenti); $odm->persist($livret); $odm->flush(); return $this->indexAction(); }
public function importCSVAction(Request $request) { $csvFile = new CSVFile(); $form = $this->createForm(new CSVFileType(), $csvFile); $form->handleRequest($request); if ($request->getMethod() == "POST") { $file = $csvFile->getCsvFile(); if ($file->getClientOriginalExtension() != "csv") { return $this->render('UtilisateurBundle:Default:importCSV.html.twig', array('form' => $form->createView())); } // Generate a unique name for the file before saving it $fileName = 'Utilisateur.' . $file->getClientOriginalExtension(); // Move the file to the directory where signatures are stored $csvDir = $this->container->getParameter('kernel.root_dir') . '/../web/uploads/csv'; $file->move($csvDir, $fileName); // Update the 'signature' property to store the new file name // instead of its contents $csvFile->setCsvFile($fileName); $odm = $this->get('doctrine_mongodb')->getManager(); //Parser csv if (($handle = fopen($csvDir . '/' . $fileName, "r")) !== FALSE) { while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { $num = count($data); $data[0] = ucwords($data[0]); $data[1] = ucwords($data[1]); $utilisateur = new Utilisateur(); $utilisateur->setUsername($data[0] . "." . $data[1]); $utilisateur->setPrenom($data[0]); $utilisateur->setNom($data[1]); $utilisateur->setEmail($data[2]); $utilisateur->setRoles(array($data[3])); $utilisateur->setPlainPassword($data[4]); if ($data[3] !== "ROLE_RD") { if ($data[3] == "ROLE_TUTEUR") { for ($i = 5; $i < $num; $i++) { $utilisateur->setApprentis(array($data[$i])); } } else { if ($data[3] == "ROLE_APPRENTI") { $utilisateur->setTuteur(array($data[5])); $utilisateur->setClasse($data[6]); } } } $utilisateur->setEnabled(true); //Persister l'utilisateur $odm->persist($utilisateur); $odm->flush(); if ($data[3] == "ROLE_APPRENTI") { $user = $odm->getRepository("UtilisateurBundle:Utilisateur")->findOneBy(array("email" => $data[2])); //Générer le livret de l'utilisateur $livret = new Livret(); $livret->genererLivret($user->getId()); //Persister le livret $odm->persist($livret); $odm->flush(); } } fclose($handle); } $this->associerTuteur(); return $this->redirect($this->generateUrl("utilisateur_homepage")); } return $this->render('UtilisateurBundle:Default:importCSV.html.twig', array('form' => $form->createView())); }