コード例 #1
0
 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()));
 }