public function IndexAction() { $em = $this->getDoctrine()->getEntityManager(); $versionCarto = $em->getRepository('DeveloppementCartopliBundle:Installation')->getVersionCarto(); $ServeursaAjouter = new Serveur(); // On crée le FormBuilder grâce à la méthode du contrôleur $formBuilder = $this->createFormBuilder($ServeursaAjouter); // On ajoute les champs de l'entité que l'on veut à notre formulaire $formBuilder->add('constructeur', 'text', array('label' => 'Constructeur : ', 'required' => true, 'data' => 'HP'))->add('modele', 'text', array('label' => 'Mod. Serveur : ', 'required' => true, 'data' => 'HP DL360 G8'))->add('format', 'entity', array('label' => 'Format : ', 'required' => true, 'class' => 'DeveloppementCartopliBundle:ListesNew', 'property' => 'valeurAttr', 'empty_value' => 'N/A', 'query_builder' => function (EntityRepository $er) { return $er->createQueryBuilder('l')->where("l.nomAttr = 'Format' ")->orderBy('l.valeurAttr'); }))->add('cycledevie', 'entity', array('label' => 'Etat :', 'required' => true, 'class' => 'DeveloppementCartopliBundle:ListesNew', 'property' => 'valeurAttr', 'empty_value' => false, 'query_builder' => function (EntityRepository $er) { return $er->createQueryBuilder('l')->where("l.nomAttr = 'CycleVie' ")->orderBy('l.valeurAttr'); }))->add('rackLocal', 'entity', array('label' => 'Rack/Local :', 'required' => false, 'class' => 'DeveloppementCartopliBundle:Rack', 'property' => 'nom', 'empty_value' => 'stock', 'query_builder' => function (EntityRepository $er) { return $er->createQueryBuilder('r')->orderBy('r.nom'); }))->add('localisation', 'entity', array('label' => 'Localisation :', 'required' => false, 'class' => 'DeveloppementCartopliBundle:ListesNew', 'property' => 'valeurAttr', 'empty_value' => 'LILHDD', 'query_builder' => function (EntityRepository $er) { return $er->createQueryBuilder('l')->where("l.nomAttr = 'Srv_Loca' ")->orderBy('l.valeurAttr'); }))->add('nbcpu', 'integer', array('label' => 'Nb CPU : ', 'required' => true, 'data' => '2'))->add('nbcoeur', 'integer', array('label' => 'Nb Coeur : ', 'required' => true, 'data' => '6'))->add('vitessecpu', 'text', array('label' => 'Vitesse CPU : ', 'required' => true, 'data' => '2.5GHz'))->add('ram', 'text', array('label' => 'RAM : ', 'required' => true, 'data' => '16349'))->add('taille', 'integer', array('label' => 'Taille en U : ', 'required' => true, 'max_length' => '1'))->add('disque', 'text', array('label' => 'Taille Disque : ', 'required' => true, 'data' => '3To'))->add('lto', 'text', array('label' => 'LTO : ', 'required' => true, 'data' => 'SDLT'))->add('dateachat', 'date', array('label' => 'Date d\'achat : ', 'required' => true, 'widget' => 'single_text', 'format' => 'yyyy-MM-dd'))->add('fournisseur', 'text', array('label' => 'Fournisseur : ', 'required' => true, 'data' => 'UGAP LNA'))->add('marche', 'text', array('label' => 'Marché : ', 'required' => true, 'data' => '2013-23'))->add('garantie', 'text', array('label' => 'Garantie : ', 'required' => true, 'data' => 'UGAP-HP'))->add('datefinsupport', 'date', array('label' => 'Date Fin Sup: ', 'required' => true, 'widget' => 'single_text', 'format' => 'yyyy-MM-dd'))->add('lien', 'url', array('label' => 'Lien Contrat:', 'required' => false)); // À partir du formBuilder, on génère le formulaire $formCreationServeurs = $formBuilder->getForm(); $request = $this->get('request'); if ($request->isMethod('POST')) { $formCreationServeurs->bind($request); if ($formCreationServeurs->isValid()) { // check there are no errors if ($_FILES['csv']['error'] == 0) { $tmpName = $_FILES['csv']['tmp_name']; if (($handle = fopen($tmpName, 'r')) !== FALSE) { // necessary if a large csv file // set_time_limit(0); $row = 1; while (($data = fgetcsv($handle, 1000, ';')) !== FALSE) { $num = count($data); if ($row == 1) { if (isset($_POST['form']['rackLocal']) != '') { $ServeursaAjouter->setRackLocal($em->getRepository('DeveloppementCartopliBundle:Rack')->find($_POST['form']['rackLocal'])); } if (isset($_POST['form']['rackLocal']) == '') { $ServeursaAjouter->setRackLocal($em->getRepository('DeveloppementCartopliBundle:Rack')->find(128)); } // if (isset($_POST['rackLocal'])=='') // { // $ServeursaAjouter->setRackLocal(($em->getRepository('DeveloppementCartopliBundle:Rack')->find(128))); // } if ($ServeursaAjouter->getRackLocal() === NULL) { $ServeursaAjouter->setRackLocal($em->getRepository('DeveloppementCartopliBundle:Rack')->find(128)); } if (isset($_POST['localisation']) == '') { $ServeursaAjouter->setLocalisation($em->getRepository('DeveloppementCartopliBundle:ListesNew')->find(157)); } if ($ServeursaAjouter->getRackLocal()->getNum() >= 41 && $ServeursaAjouter->getRackLocal()->getNum() <= 54) { $r = $em->getRepository('DeveloppementCartopliBundle:Rack')->find(1); $emplacement = $r->getUtilise(); } elseif ($ServeursaAjouter->getRackLocal()->getNum() >= 85 && $ServeursaAjouter->getRackLocal()->getNum() <= 98) { $r = $em->getRepository('DeveloppementCartopliBundle:Rack')->find(2); $emplacement = $r->getUtilise(); } elseif ($ServeursaAjouter->getRackLocal()->getNum() >= 55 && $ServeursaAjouter->getRackLocal()->getNum() <= 68) { $r = $em->getRepository('DeveloppementCartopliBundle:Rack')->find(3); $emplacement = $r->getUtilise(); } elseif ($ServeursaAjouter->getRackLocal()->getNum() >= 70 && $ServeursaAjouter->getRackLocal()->getNum() <= 83) { $r = $em->getRepository('DeveloppementCartopliBundle:Rack')->find(84); $emplacement = $r->getUtilise(); } else { $emplacement = $ServeursaAjouter->getRackLocal()->getUtilise(); } $ServeursaAjouter->setNser($data[0]); $ServeursaAjouter->setHostname('SRVSTOCK' . $ServeursaAjouter->getNum()); $ServeursaAjouter->setOS('UNKNOWN'); $ServeursaAjouter->setType($em->getRepository('DeveloppementCartopliBundle:ListesNew')->find(366)); $ServeursaAjouter->setNumcontrat(''); $ServeursaAjouter->setEmplacementrack($ServeursaAjouter->getRackLocal()->getUtilise()); $em->persist($ServeursaAjouter); // var_dump($ServeursaAjouter); $em->flush(); $emplacement = $emplacement + $ServeursaAjouter->getTaille(); $ServeursaAjouter->setHostname('SRVSTOCK' . $ServeursaAjouter->getNum()); $ServeursaAjouter->setEmplacementrack($emplacement); if ($ServeursaAjouter->getRackLocal()->getNum() >= 41 && $ServeursaAjouter->getRackLocal()->getNum() <= 54) { $r = $em->getRepository('DeveloppementCartopliBundle:Rack')->find(1); $r->setUtilise($emplacement); } elseif ($ServeursaAjouter->getRackLocal()->getNum() >= 85 && $ServeursaAjouter->getRackLocal()->getNum() <= 98) { $r = $em->getRepository('DeveloppementCartopliBundle:Rack')->find(2); $r->setUtilise($emplacement); } elseif ($ServeursaAjouter->getRackLocal()->getNum() >= 55 && $ServeursaAjouter->getRackLocal()->getNum() <= 68) { $r = $em->getRepository('DeveloppementCartopliBundle:Rack')->find(3); $r->setUtilise($emplacement); } elseif ($ServeursaAjouter->getRackLocal()->getNum() >= 70 && $ServeursaAjouter->getRackLocal()->getNum() <= 83) { $r = $em->getRepository('DeveloppementCartopliBundle:Rack')->find(84); $r->setUtilise($emplacement); } else { $ServeursaAjouter->getRackLocal()->setUtilise($emplacement); } $em->persist($ServeursaAjouter); // var_dump($ServeursaAjouter); $em->flush(); //garde les champs en mémoire pour créer plusieurs serveurs $const = $ServeursaAjouter->getConstructeur(); $modele = $ServeursaAjouter->getModele(); $format = $ServeursaAjouter->getFormat(); $etat = $ServeursaAjouter->getCycledevie(); $rack = $ServeursaAjouter->getRackLocal(); $local = $ServeursaAjouter->getLocalisation(); $nbcpu = $ServeursaAjouter->getNbcpu(); $nbcoeur = $ServeursaAjouter->getNbcoeur(); $vitesse = $ServeursaAjouter->getVitessecpu(); $ram = $ServeursaAjouter->getRam(); $taille = $ServeursaAjouter->getTaille(); $disque = $ServeursaAjouter->getDisque(); //$dvd = $ServeursaAjouter->getDvd(); $lto = $ServeursaAjouter->getLto(); $achat = $ServeursaAjouter->getDateachat(); $fournisseur = $ServeursaAjouter->getFournisseur(); $marche = $ServeursaAjouter->getMarche(); $garantie = $ServeursaAjouter->getGarantie(); $finsupport = $ServeursaAjouter->getDatefinsupport(); $lien = $ServeursaAjouter->getLien(); $c = 1; } else { $c = 0; } $row++; for ($c; $c < $num; $c++) { if ($data[$c] != '') { $ServeursaAjouter = new Serveur(); $emplacement = $taille + $emplacement; //Creation du serveur $ServeursaAjouter->setHostname('SRVSTOCK' . $ServeursaAjouter->getNum()); $ServeursaAjouter->setConstructeur($const); $ServeursaAjouter->setModele($modele); $ServeursaAjouter->setFormat($format); $ServeursaAjouter->setCycledevie($etat); $ServeursaAjouter->setRackLocal($rack); $ServeursaAjouter->setLocalisation($local); $ServeursaAjouter->setNbcpu($nbcpu); $ServeursaAjouter->setNbcoeur($nbcoeur); $ServeursaAjouter->setVitessecpu($vitesse); $ServeursaAjouter->setRam($ram); $ServeursaAjouter->setTaille($taille); $ServeursaAjouter->setDisque($disque); // $ServeursaAjouter->setDvd($dvd); $ServeursaAjouter->setLto($lto); $ServeursaAjouter->setDateachat($achat); $ServeursaAjouter->setFournisseur($fournisseur); $ServeursaAjouter->setMarche($marche); $ServeursaAjouter->setGarantie($garantie); $ServeursaAjouter->setDatefinsupport($finsupport); $ServeursaAjouter->setLien($lien); $ServeursaAjouter->setNser($data[$c]); $ServeursaAjouter->setHostname('SRVSTOCK' . $ServeursaAjouter->getNum()); $ServeursaAjouter->setOS('UNKNOWN'); $ServeursaAjouter->setType($em->getRepository('DeveloppementCartopliBundle:ListesNew')->find(366)); $ServeursaAjouter->setNumcontrat($ServeursaAjouter->getNumcontrat()); $ServeursaAjouter->setEmplacementrack($emplacement); // var_dump($ServeursaAjouter); if ($ServeursaAjouter->getRackLocal()->getNum() >= 41 && $ServeursaAjouter->getRackLocal()->getNum() <= 54) { $r = $em->getRepository('DeveloppementCartopliBundle:Rack')->find(1); $r->setUtilise($emplacement); } elseif ($ServeursaAjouter->getRackLocal()->getNum() >= 85 && $ServeursaAjouter->getRackLocal()->getNum() <= 98) { $r = $em->getRepository('DeveloppementCartopliBundle:Rack')->find(2); $r->setUtilise($emplacement); } elseif ($ServeursaAjouter->getRackLocal()->getNum() >= 55 && $ServeursaAjouter->getRackLocal()->getNum() <= 68) { $r = $em->getRepository('DeveloppementCartopliBundle:Rack')->find(3); $r->setUtilise($emplacement); } elseif ($ServeursaAjouter->getRackLocal()->getNum() >= 70 && $ServeursaAjouter->getRackLocal()->getNum() <= 83) { $r = $em->getRepository('DeveloppementCartopliBundle:Rack')->find(84); $r->setUtilise($emplacement); } else { $ServeursaAjouter->getRackLocal()->setUtilise($emplacement); } $em->persist($ServeursaAjouter); $em->flush(); $ServeursaAjouter->setHostname('SRVSTOCK' . $ServeursaAjouter->getNum()); // var_dump($ServeursaAjouter); $em->persist($ServeursaAjouter); $em->flush(); } } } fclose($handle); } } // return $this->redirect($this->generateUrl('developpement_cartopli_serveurs')); // var_dump($ServeursaAjouter); } // sleep(3); return $this->render('DeveloppementCartopliBundle:Default:outils.html.twig', array('versionCarto' => $versionCarto, 'formCreationServeurs' => $formCreationServeurs->createView())); } //sleep(3); return $this->render('DeveloppementCartopliBundle:Default:outils.html.twig', array('versionCarto' => $versionCarto, 'formCreationServeurs' => $formCreationServeurs->createView())); }