コード例 #1
0
ファイル: User.php プロジェクト: Bobarisoa/noucoz-release
 public function load(ObjectManager $manager)
 {
     // Liste des noms de catégorie à ajouter
     $datas = array(array('firstname' => 'Administrateur', 'lastname' => 'système', 'email' => '*****@*****.**', 'username' => 'master', 'code' => 'MAS', 'position' => 'Administrateur système', 'password' => 'gR39XM+O6/ET4XX/GOMFEivFFOWqZxFx6jJ35wnrQV4/kLXeg7l1cG4n/IoOvlqYnDeHOysyZLkcVkw+5N1TZA==', 'salt' => '81b44c0ab9f5775ff6012d0018fc0001', 'role' => 'Admin', 'is_active' => true), array('firstname' => 'Superviseur', 'lastname' => 'Test user', 'email' => '*****@*****.**', 'username' => 'supuser', 'code' => 'STU', 'position' => 'Utilisateur Test', 'password' => 'K+bKy5uo7wOt7ULqjmWhUMqVytU8Binm08iefsxoF3pONFfv9/KZrAekq8RFyscG1ElN3n/E4S9rq7SPUFg4ag==', 'salt' => '6cc12f6be90a8ddbc88fc34c5d5de620', 'agence' => 'Siège Immeuble Regus', 'role' => 'Superviseur', 'is_active' => true), array('firstname' => 'Sambatra', 'lastname' => 'RAHADRANASANDATRA', 'email' => '*****@*****.**', 'username' => 'sambatra', 'code' => 'SAM', 'position' => 'Chef de ventes', 'password' => 'K+bKy5uo7wOt7ULqjmWhUMqVytU8Binm08iefsxoF3pONFfv9/KZrAekq8RFyscG1ElN3n/E4S9rq7SPUFg4ag==', 'salt' => '6cc12f6be90a8ddbc88fc34c5d5de620', 'role' => 'Superviseur', 'is_active' => true), array('firstname' => 'Narindra', 'lastname' => 'RANDRIANARIVELO', 'email' => '*****@*****.**', 'username' => 'narindra', 'code' => 'NAR', 'position' => 'Agent de ventes et d\'escale', 'password' => 'K+bKy5uo7wOt7ULqjmWhUMqVytU8Binm08iefsxoF3pONFfv9/KZrAekq8RFyscG1ElN3n/E4S9rq7SPUFg4ag==', 'salt' => '6cc12f6be90a8ddbc88fc34c5d5de620', 'role' => 'Superviseur', 'is_active' => true), array('firstname' => 'Miarisoa', 'lastname' => '', 'email' => '*****@*****.**', 'username' => 'miarisoa', 'code' => 'MIA', 'position' => 'Agent de ventes et d\'escale', 'password' => 'K+bKy5uo7wOt7ULqjmWhUMqVytU8Binm08iefsxoF3pONFfv9/KZrAekq8RFyscG1ElN3n/E4S9rq7SPUFg4ag==', 'salt' => '6cc12f6be90a8ddbc88fc34c5d5de620', 'role' => 'Superviseur', 'is_active' => true), array('firstname' => 'Malanto', 'lastname' => 'Nassar', 'email' => '*****@*****.**', 'username' => 'malanto', 'code' => 'PIS', 'position' => 'Agent de ventes', 'password' => 'K+bKy5uo7wOt7ULqjmWhUMqVytU8Binm08iefsxoF3pONFfv9/KZrAekq8RFyscG1ElN3n/E4S9rq7SPUFg4ag==', 'salt' => '6cc12f6be90a8ddbc88fc34c5d5de620', 'role' => 'Superviseur', 'is_active' => true), array('firstname' => 'bot1 resa', 'lastname' => 'madagasikara-airways.com', 'email' => '*****@*****.**', 'username' => 'bot1', 'code' => 'BOT1', 'position' => 'Bot resa', 'password' => 'K+bKy5uo7wOt7ULqjmWhUMqVytU8Binm08iefsxoF3pONFfv9/KZrAekq8RFyscG1ElN3n/E4S9rq7SPUFg4ag==', 'salt' => '6cc12f6be90a8ddbc88fc34c5d5de620', 'role' => 'Freelancer', 'is_active' => true), array('firstname' => 'Agent de vente', 'lastname' => 'externe', 'email' => '*****@*****.**', 'username' => 'agentexterne', 'code' => 'AE1', 'position' => 'Agent de vente externe', 'password' => 'K+bKy5uo7wOt7ULqjmWhUMqVytU8Binm08iefsxoF3pONFfv9/KZrAekq8RFyscG1ElN3n/E4S9rq7SPUFg4ag==', 'salt' => '6cc12f6be90a8ddbc88fc34c5d5de620', 'role' => 'Freelancer', 'is_active' => true), array('firstname' => 'Agent', 'lastname' => 'Escale', 'email' => '*****@*****.**', 'username' => 'agentescale', 'code' => 'AES1', 'position' => 'Agent escale', 'password' => 'K+bKy5uo7wOt7ULqjmWhUMqVytU8Binm08iefsxoF3pONFfv9/KZrAekq8RFyscG1ElN3n/E4S9rq7SPUFg4ag==', 'salt' => '6cc12f6be90a8ddbc88fc34c5d5de620', 'role' => 'Freelancer', 'is_active' => true));
     foreach ($datas as $item) {
         // On crée la catégorie
         $entity = new Utilisateur();
         $entity->setFirstname($item['firstname']);
         $entity->setLastname($item['lastname']);
         $entity->setUsername($item['username']);
         $entity->setEmail($item['email']);
         $entity->setPosition($item['position']);
         $entity->setPassword($item['password']);
         $entity->setSalt($item['salt']);
         $entity->setCode($item['code']);
         $entity->setRole($manager->getRepository('AppCoreBundle:Role')->findOneBy(array('name' => $item['role'])));
         $entity->setIsActive($item['is_active']);
         // On la persiste
         $manager->persist($entity);
     }
     // On déclenche l'enregistrement
     $manager->flush();
 }
コード例 #2
0
 /**
  * Imports Utilisateur entities.
  * Same method explained in CoursController.php
  * Parse CSV file
  * The CSV cours structure was defined with Christophe Widmer (please contact him for CSV examples and notices)
  * This one is a bit more complex
  * WARNING : each column has its own role, dont blend it
  *
  */
 public function importAction(Request $request)
 {
     $parser = new Csv();
     $type = 'text/plain';
     $ext = 'csv';
     $path = __DIR__ . '/../../../../web/uploads/csv';
     $em = $this->getDoctrine()->getManager();
     $form = $this->createForm(new CsvType());
     if ($request->getMethod() == 'POST') {
         $form->bind($request);
         if ($form->isValid()) {
             $data = $form->getData();
             $file = $data['csv']->move($path, 'temp.csv');
             $parser->set($path, 'temp.csv');
             $rows = $parser->parseCsv();
             $length = count($rows);
             foreach ($rows as $row) {
                 $statement = array();
                 foreach ($row as $cell) {
                     $cell = trim($cell);
                     $statement[] = empty($cell);
                 }
                 if (in_array(true, $statement)) {
                     $length--;
                 } else {
                     $role = $em->getRepository('AppCoreBundle:Role')->findOneBy(array('name' => $row[4]));
                     if (!empty($role)) {
                         $entity = new Utilisateur();
                         $entity->setLastname($row[0]);
                         $entity->setFirstname($row[1]);
                         $entity->setUsername($row[2]);
                         $entity->setEmail($row[3]);
                         $entity->setRole($role);
                         $entity->setPassword($row[5]);
                         $factory = $this->get('security.encoder_factory');
                         $encoder = $factory->getEncoder($entity);
                         $entity->setSalt(md5(time()));
                         $entity->setPassword($encoder->encodePassword($entity->getPassword(), $entity->getSalt()));
                         $validator = $this->get('validator');
                         if (!count($validator->validate($entity))) {
                             $em->persist($entity);
                         } else {
                             $length--;
                         }
                     } else {
                         $length--;
                     }
                 }
             }
             $em->flush();
             if (file_exists($path . '/temp.csv')) {
                 unlink($path . '/temp.csv');
             }
             $this->get('session')->getFlashBag()->add('success', $length . ' utilisateurs ont été ajoutés !');
             return $this->redirect($this->generateUrl('utilisateur_import'));
         }
     }
     return $this->render('AppCoreBundle:Utilisateur:import.html.twig', array('headline' => 'Utilisateurs', 'title' => 'Importer des utilisateurs', 'form' => $form->createView()));
 }