Exemplo n.º 1
0
 public function addAction(Request $request)
 {
     // On récupère l'EntityManager
     $em = $this->getDoctrine()->getManager();
     // Création de l'entité Advert
     $advert = new Advert();
     $advert->setTitle('Recherche développeur Symfony2.');
     $advert->setAuthor('Alexandre');
     $advert->setContent("Nous recherchons un développeur Symfony2 débutant sur Lyon. Blabla…");
     // On récupère toutes les compétences possibles
     $listSkills = $em->getRepository('OCPlatformBundle:Skill')->findAll();
     // Pour chaque compétence
     foreach ($listSkills as $skill) {
         // On crée une nouvelle « relation entre 1 annonce et 1 compétence »
         $advertSkill = new AdvertSkill();
         // On la lie à l'annonce, qui est ici toujours la même
         $advertSkill->setAdvert($advert);
         // On la lie à la compétence, qui change ici dans la boucle foreach
         $advertSkill->setSkill($skill);
         // Arbitrairement, on dit que chaque compétence est requise au niveau 'Expert'
         $advertSkill->setLevel('Expert');
         // Et bien sûr, on persiste cette entité de relation, propriétaire des deux autres relations
         $em->persist($advertSkill);
     }
     // Doctrine ne connait pas encore l'entité $advert. Si vous n'avez pas définit la relation AdvertSkill
     // avec un cascade persist (ce qui est le cas si vous avez utilisé mon code), alors on doit persister $advert
     $em->persist($advert);
     // On déclenche l'enregistrement
     $em->flush();
     if ($request->isMethod('POST')) {
         $request->getSession()->getFlashBag()->add('notice', 'Annonce bien enregistrée.');
         return $this->redirect($this->generateUrl('oc_platform_view', array('id' => $advert->getId())));
     }
     return $this->render('OCPlatformBundle:Advert:add.html.twig');
 }
Exemplo n.º 2
0
 public function load(ObjectManager $manager)
 {
     // Liste des annonces à ajouter
     $advertList = array(array('author' => 'John', 'title' => 'Offre développeur cakePhp', 'content' => 'Nous recherchons un développeur cakePhp intermédiaire sur Nantes et Marseille. Blabla…'), array('author' => 'Tangi', 'title' => 'Offre développeur SF2', 'content' => 'Nous recherchons un développeur SF2 confirmé sur Paris et Sept. Blabla…'), array('author' => 'Julie', 'title' => 'Offre développeur Zend2', 'content' => 'Nous recherchons un développeur Zend2 débutant sur Lyon et Niort. Blabla…'), array('author' => 'Antoine', 'title' => 'Offre développeur Drupal', 'content' => 'Nous recherchons un développeur Drupal confirmé sur Rennes et Antibes. Blabla…'), array('author' => 'Toto', 'title' => 'Offre développeur Angular', 'content' => 'Nous recherchons un développeur Angular débutant sur Vannes et Nice. Blabla…'), array('author' => 'Tati', 'title' => 'Offre développeur jQuery', 'content' => 'Nous recherchons un développeur jQuery confirmé sur Nantes et Marseille. Blabla…'));
     // Liste des candidats
     $appList = array(array('advert_id' => 12, 'author' => 'John', 'content' => 'Enfin je crois avoir toutes les qualités recquises pour ce poste, ce poste est fait pour moi.'), array('advert_id' => 12, 'author' => 'Tangi', 'content' => 'Je suis plus que motivé et je vais tout mettre le paquet pour ce poste, c\'est le job de mes rêves.'), array('advert_id' => 13, 'author' => 'Julie', 'content' => 'J\'ai toutes qualités recquises pour ce poste, ce poste est fait pour moi.'), array('advert_id' => 13, 'author' => 'Antoine', 'content' => 'I\'m the best, prenez moi, vous serez pas deçu'), array('advert_id' => 14, 'author' => 'Toto', 'content' => 'Enfin je crois avoir toutes les qualités recquises pour ce poste, ce poste est fait pour moi.'), array('advert_id' => 14, 'author' => 'Tati', 'content' => 'Je suis plus que motivé et je vais tout mettre le paquet pour ce poste, c\'est le job de mes rêves.'), array('advert_id' => 15, 'author' => 'Tutu', 'content' => 'J\'ai toutes qualités recquises pour ce poste, ce poste est fait pour moi.'), array('advert_id' => 15, 'author' => 'Tino', 'content' => 'I\'m the best, prenez moi, vous serez pas deçu'));
     foreach ($advertList as $key => $adv) {
         // On crée l'annonce
         $advert = new Advert();
         $advert->setAuthor($adv[$key]['author']);
         $advert->setTitle($adv[$key]['title']);
         $advert->setContent($adv[$key]['content']);
         /*die(var_dump('advert',$adv,'key',$key));
           foreach($appList as $key => $app){
               if($app['advert_id'] === $advert->getId()){
                   $appAdv = new Application();
                   $appAdv->setAuthor($app[$key]['author']);
                   $appAdv->setContent($app[$key]['content']);
                   $appAdv->setAdvert($advert);
                   $manager->persist($appAdv);
               }
           }*/
         // On la persiste
         $manager->persist($advert);
     }
     // On déclenche l'enregistrement de toutes les annonces
     $manager->flush();
 }
Exemplo n.º 3
0
 public function load(ObjectManager $manager)
 {
     //annonces à ajouter
     //annonce d'Alexandre
     $advertAlex = new Advert();
     $advertAlex->setImage($this->getReference('image-jdr'));
     $advertAlex->setTitle('Recherche développeur Symfony2');
     $advertAlex->setAuthor('Alexandre');
     $advertAlex->setContent('Nous recherchons un développeur');
     $advertAlex->setSlug('recherche-developpeur');
     $advertAlex->setDate(new \Datetime());
     //annonce d'Hugo
     $advertHugo = new Advert();
     $advertHugo->setImage($this->getReference('image-af'));
     $advertHugo->setTitle('Mission de webmaster');
     $advertHugo->setAuthor('Hugo');
     $advertHugo->setContent('Nous recherchons un webmaster capable de maintenir notre site internet. Blabla…');
     $advertHugo->setSlug('mission-webmaster');
     $advertHugo->setDate(new \Datetime());
     //annonce de Mathieu
     $advertMat = new Advert();
     $advertMat->setImage($this->getReference('image-pa'));
     $advertMat->setTitle('Offre de stage webdesigner');
     $advertMat->setAuthor('Mathieu');
     $advertMat->setContent('Nous proposons un poste pour webdesigner. Blabla…');
     $advertMat->setSlug('stage-webdesigner');
     $advertMat->setDate(new \Datetime());
     // On la persiste
     $manager->persist($advertAlex);
     $manager->persist($advertHugo);
     $manager->persist($advertMat);
     // On déclenche l'enregistrement de toutes les catégories
     $manager->flush();
 }
Exemplo n.º 4
0
 public function load(ObjectManager $manager)
 {
     $listAdverts = array(array('date' => new \Datetime('2015-08-15'), 'title' => 'Développeur Symfony2', 'author' => 'Gabriel', 'content' => 'Recherche développeur Symfony2', 'category' => 'Développement web', 'updatedAt' => new \Datetime('2015-08-15')), array('date' => new \Datetime('2015-09-15'), 'title' => 'Alternant IT', 'author' => 'Marie', 'content' => 'Recherche alternant IT', 'category' => 'Développement web', 'updatedAt' => new \Datetime('2015-09-15')), array('date' => new \Datetime('2014-08-17'), 'title' => 'Développeur web', 'author' => 'Thomas', 'content' => 'HTML/Js/CSS/HTML/jQuery/Java EE', 'category' => 'Développement web', 'updatedAt' => new \Datetime('2015-08-17')), array('date' => new \Datetime('2015-09-05'), 'title' => 'Développeur mobile Android', 'author' => 'Henry', 'content' => 'Recherche développeur mobile Android Java/Phonegap', 'category' => 'Développement mobile', 'updatedAt' => new \Datetime('2015-09-05')), array('date' => new \Datetime('2015-09-14'), 'title' => 'Web Designer pour startup dynamique', 'author' => 'Gabriel', 'content' => 'Recherche Web Designer pour startup dynamique', 'category' => 'Graphisme', 'updatedAt' => new \Datetime('2015-09-14')));
     foreach ($listAdverts as $advert) {
         $ad = new Advert();
         $ad->setDate($advert['date']);
         $ad->setTitle($advert['title']);
         $ad->setContent($advert['content']);
         $ad->setAuthor($advert['author']);
         $ad->setUpdatedAt($advert['updatedAt']);
         $manager->persist($ad);
     }
     $manager->flush();
 }
Exemplo n.º 5
0
 public function load(ObjectManager $manager)
 {
     // Liste des noms de catégorie à ajouter
     $names = array('Développement web', 'Développement mobile', 'Graphisme', 'Intégration', 'Réseau');
     $advert = new Advert();
     $advert->setTitle('Recherche développeur Symfony2.');
     $advert->setAuthor('Zozo');
     $advert->setContent("Nous recherchons quelqu'un de trooop génial !");
     $manager->persist($advert);
     foreach ($names as $name) {
         // On crée la catégorie
         $category = new Category();
         $category->setName($name);
         // On la persiste
         $manager->persist($category);
     }
     // On déclenche l'enregistrement de toutes les catégories
     $manager->flush();
 }
Exemplo n.º 6
0
 public function load(ObjectManager $manager)
 {
     // Liste des noms de catégorie à ajouter
     $names = array('Développement web', 'Développement mobile', 'Réseau');
     $advert = new Advert();
     $advert->setTitle('Coucou');
     $advert->setAuthor('Mazoshu');
     $advert->setContent("A la recherche de developer");
     $manager->persist($advert);
     foreach ($names as $name) {
         // On crée la catégorie
         $category = new Category();
         $category->setName($name);
         // On la persiste
         $manager->persist($category);
     }
     // On déclenche l'enregistrement de toutes les catégories
     $manager->flush();
 }
Exemplo n.º 7
0
 public function load(ObjectManager $manager)
 {
     $purgeDate = new \DateTime("- 2 days");
     $listAdverts = array(array("title" => "[TO BE PURGED]Recherche développeur python", "author" => "Simon", "content" => "Nous recherchons un développeur Python por favor"), array("title" => "Recherche chef de projet Drupal", "author" => "Adrien", "content" => "URGENT: Chef de projet drupal"), array("title" => "Recherche sysadmin", "author" => "Michael", "content" => "Sysadmin sociable recherché"), array("title" => "Recherche chef de projet", "author" => "Marc", "content" => "Nous recherchons un super chef de projet"), array("title" => "Recherche développeur js", "author" => "Thomas", "content" => "[OLDER THAN PURGE LIMIT BUT WITH APPLICATION] URGENT: Développeur js"), array("title" => "Recherche papa", "author" => "Stromae", "content" => "OUTAIPAPAOUTAI???"));
     foreach ($listAdverts as $listAdvert) {
         // On crée la catégorie
         $advert = new Advert();
         if (in_array($listAdvert['author'], array('Simon', 'Thomas'))) {
             $advert->setDate($purgeDate);
         }
         $advert->setTitle($listAdvert['title']);
         $advert->setAuthor($listAdvert['author']);
         $advert->setContent($listAdvert['content']);
         // On la persiste
         $manager->persist($advert);
     }
     // On déclenche l'enregistrement de toutes les catégories
     $manager->flush();
 }
 public function addAction(Request $request)
 {
     //on crée l'entité
     $advert = new Advert();
     $advert->setTitle('Benoit est nul');
     $advert->setAuthor('Vivien');
     $advert->setContent('Benoit est un garçon qui est quand même nul.');
     // On récupère l'EntityManager
     $em = $this->getDoctrine()->getManager();
     // Étape 1 : On « persiste » l'entité
     $em->persist($advert);
     // Étape 2 : On « flush » tout ce qui a été persisté avant
     $em->flush();
     // Reste de la méthode qu'on avait déjà écrit
     if ($request->isMethod('POST')) {
         $request->getSession()->getFlashBag()->add('notice', 'Annonce bien enregistrée.');
         return $this->redirect($this->generateUrl('oc_platform_view', array('id' => $advert->getId())));
     }
     return $this->render('OCPlatformBundle:Advert:add.html.twig');
 }
Exemplo n.º 9
0
 public function load(ObjectManager $manager)
 {
     $adverts = array();
     for ($i = 1; $i <= 25; $i++) {
         $date = new \Datetime();
         $interval = new \DateInterval('PT' . $i . 'H');
         $date = date_add($date, $interval);
         $adverts[] = array('title' => $i, 'author' => 'Laurent', 'content' => 'Bla bla bla', 'date' => $date);
     }
     foreach ($adverts as $item) {
         // On crée la compétence
         $advert = new Advert();
         $advert->setTitle($item['title']);
         $advert->setAuthor($item['author']);
         $advert->setContent($item['content']);
         $advert->setDate($item['date']);
         // On la persiste
         $manager->persist($advert);
     }
     // On déclenche l'enregistrement de toutes les catégories
     $manager->flush();
 }
Exemplo n.º 10
0
 /**
  * @param Request $request
  * @return \Symfony\Component\HttpFoundation\RedirectResponse|\Symfony\Component\HttpFoundation\Response
  */
 public function addAction(Request $request)
 {
     $params = array();
     // Création de l'entité
     $advert = new Advert();
     $advert->setTitle('Mission de webmaster.');
     $advert->setAuthor('Hugo');
     $advert->setContent("Nous recherchons un webmaster débutant sur Paris. Blabla…");
     // On peut ne pas définir ni la date ni la publication,
     // car ces attributs sont définis automatiquement dans le constructeur
     // Création d'une première candidature
     $application1 = new Application();
     $application1->setAuthor('Marine');
     $application1->setContent("J'ai toutes les qualités requises.");
     // Création d'une deuxième candidature par exemple
     $application2 = new Application();
     $application2->setAuthor('Pierre');
     $application2->setContent("Je suis très motivé.");
     // On lie les candidatures à l'annonce
     $application1->setAdvert($advert);
     $application2->setAdvert($advert);
     // On récupère l'EntityManager
     $em = $this->getDoctrine()->getManager();
     // Étape 1 : On « persiste » l'entité
     $em->persist($advert);
     // Étape 1 bis : pour cette relation pas de cascade lorsqu'on persiste Advert, car la relation est
     // définie dans l'entité Application et non Advert. On doit donc tout persister à la main ici.
     $em->persist($application1);
     $em->persist($application2);
     // Étape 2 : On « flush » tout ce qui a été persisté avant
     $em->flush();
     // Reste de la méthode qu'on avait déjà écrit
     if ($request->isMethod('POST')) {
         $request->getSession()->getFlashBag()->add('notice', 'Annonce bien enregistrée.');
         return $this->redirect($this->generateUrl('oc_platform_view', array('id' => $advert->getId())));
     }
     $params['advert'] = $advert;
     return $this->render('OCPlatformBundle:Advert:add.html.twig', $params);
 }
 public function addAction(Request $request)
 {
     // Création de l'entité
     $advert = new Advert();
     $advert->setTitle('HelpX : La nouvelle tendance chez les backpakers !.');
     $advert->setAuthor('Alexandra');
     $advert->setContent("Nous recherchons un développeur Symfony2 débutant sur Lyon. Blabla…");
     $formBuilder = $this->get('form.factory')->createBuilder('form', $advert);
     $formBuilder->add('date', 'date')->add('title', 'text')->add('content', 'textarea')->add('author', 'text')->add('published', 'checkbox')->add('save', 'submit');
     $form = $formBuilder->getForm();
     $formBuilder->add('published', 'checkbox', array('required' => false));
     $form->handleRequest($request);
     //
     //$advert->setDate("Nous recherchons un développeur Symfony2 débutant sur Lyon. Blabla…");
     // On récupère l'EntityManager
     $em = $this->getDoctrine()->getManager();
     if ($form->isValid()) {
         $em->persist($advert);
         $em->flush();
         $request->getSession()->getFlashBag()->add('notice', 'Annonce bien enregistrée.');
         return $this->redirect($this->generateUrl('oc_platform_view', array('id' => $advert->getId())));
     }
     return $this->render('OCPlatformBundle:Advert:add.html.twig', array('form' => $form->createView()));
 }
Exemplo n.º 12
0
 public function testAction()
 {
     $advert = new Advert();
     $advert->setDate(new \Datetime());
     $advert->setTitle('abcdddddda');
     $advert->setContent('sdfs');
     $advert->setAuthor('Aafds');
     $validator = $this->get('validator');
     $listErrors = $validator->validate($advert);
     if (count($listErrors) > 0) {
         return new Response(var_dump($listErrors, true));
     } else {
         return new Response("L'annonce est valide !");
     }
 }
Exemplo n.º 13
0
 public function testAction()
 {
     $advert = new Advert();
     $advert->setTitle("Recherche développeur !");
     $advert->setAuthor('Test');
     $advert->setContent(':D');
     $em = $this->getDoctrine()->getManager();
     $em->persist($advert);
     $em->flush();
     // C'est à ce moment qu'est généré le slug
     return new Response('Slug généré : ' . $advert->getSlug());
     // Affiche « Slug généré : recherche-developpeur »
 }
Exemplo n.º 14
0
 public function addAction(Request $request)
 {
     // Création de l'entité
     $advert = new Advert();
     $advert->setTitle("Recherche développeur Symfony2.");
     $advert->setAuthor("Alexandre");
     $advert->setContent("Nous recherchons un développeur Symfony2 débutant sur Lyon. Blabla…");
     // Création d"une première candidature
     $application1 = new Application();
     $application1->setAuthor('Marine');
     $application1->setContent("J'ai toutes les qualités requises.");
     // Création d'une deuxième candidature
     $application2 = new Application();
     $application2->setAuthor('Pierre');
     $application2->setContent("Je suis très motivé.");
     // On lie les candidatures à l'annonce
     $application1->setAdvert($advert);
     $application2->setAdvert($advert);
     // Création de l'entité image
     $image = new Image();
     $image->setUrl('http://sdz-upload.s3.amazonaws.com/prod/upload/job-de-reve.jpg');
     $image->setAlt('Job de rêve');
     // On lie l'image à l'annonce
     $advert->setImage($image);
     // On récupère l'EntityManager
     $em = $this->getDoctrine()->getManager();
     // On récupère toutes les compétences possibles
     $listSkills = $em->getRepository('OCPlatformBundle:Skill')->findAll();
     // Pour chaque compétence
     foreach ($listSkills as $skill) {
         // On crée une nouvelle relation entre 1 annonce et 1 compétence
         $advertSkill = new AdvertSkill();
         // On la lie à l'annonce, qui est toujours la même
         $advertSkill->setAdvert($advert);
         // On la lie à la compétennce, qui change ici dans la boucle foreach
         $advertSkill->setSkill($skill);
         // Arbitrairement, on dit que chaque compétence est requise au niveau 'Expert'
         $advertSkill->setLevel('Expert');
         // Et bien sûr, on persiste cette entité de relation,propriétaire des deux autres relations
         $em->persist($advertSkill);
     }
     // Etape 1 : On « persiste » l'entité
     $em->persist($advert);
     // Étape 1 bis : pour cette relation pas de cascade lorsqu'on persiste Advert, car la relation est
     // définie dans l'entité Application et non Advert. On doit donc tout persister à la main ici.
     $em->persist($application1);
     $em->persist($application2);
     // La méthode findAll retourne toutes les catégories de la base de données
     $listCategories = $em->getRepository('OCPlatformBundle:Category')->findAll();
     // On boucle sur les catégories pour les lier à l'annonce
     foreach ($listCategories as $category) {
         $advert->addCategory($category);
     }
     // Etape 2 : On « flush » tout ce qui a été persisté avant
     $em->flush();
     // Si la requête est en POST, c'est que le visiteur a soumis le formulaire
     if ($request->isMethod('POST')) {
         // Ici, on s'occupera de la création et de la gestion du formulaire
         $request->getSession()->getFlashBag()->add('notice', 'Annonce bien enregistrée.');
         // Puis on redirige vers la page de visualisation de cettte annonce
         return $this->redirectToRoute('oc_platform_view', array('id' => $advert->getId()));
     }
     // Si on n'est pas en POST, alors on affiche le formulaire
     return $this->render('OCPlatformBundle:Advert:add.html.twig');
 }
Exemplo n.º 15
0
 public function viewAction($id)
 {
     $advert = new Advert();
     $advert->setContent("Recherche développeur Symfony2.");
     return $this->render('OCPlatformBundle:Advert:view.html.twig', array('advert' => $advert));
 }
Exemplo n.º 16
0
 public function addAction(Request $request)
 {
     // On récupère l'EntityManager
     $em = $this->getDoctrine()->getManager();
     // La gestion d'un formulaire est particulière, mais l'idée est la suivante :
     //
     // $em = $this->getDoctrine()->getManager();
     //       $advert2 = $em->getRepository('OCPlatformBundle:Advert')->find('46b46640-d976-11e5-8bcc-080027716959');
     //
     //       // On modifie cette annonce, en changeant la date à la date d'aujourd'hui
     //       $advert2->setDate(new \Datetime());
     // Création de l'entité Advert
     $advert = new Advert();
     $advert->setTitle('Recherche développeur Symfony2.');
     $advert->setAuthor('Alexandre');
     $advert->setContent("Nous recherchons un développeur Symfony2 débutant sur Lyon. Blabla…");
     // Création de l'entité Image
     $image = new Image();
     $image->setUrl('http://sdz-upload.s3.amazonaws.com/prod/upload/job-de-reve.jpg');
     $image->setAlt('Job de rêve');
     // On lie l'image à l'annonce
     $advert->setImage($image);
     $application1 = new Application();
     $application1->setAuthor('Romain');
     $application1->setContent('Test content');
     $application2 = new Application();
     $application2->setAuthor('John');
     $application2->setContent('Test content 2');
     $application1->setAdvert($advert);
     $application2->setAdvert($advert);
     // On récupère toutes les compétences possibles
     $listSkills = $em->getRepository('OCPlatformBundle:Skill')->findAll();
     // Pour chaque compétence
     foreach ($listSkills as $skill) {
         // On crée une nouvelle « relation entre 1 annonce et 1 compétence »
         $advertSkill = new AdvertSkill();
         // On la lie à l'annonce, qui est ici toujours la même
         $advertSkill->setAdvert($advert);
         // On la lie à la compétence, qui change ici dans la boucle foreach
         $advertSkill->setSkill($skill);
         // Arbitrairement, on dit que chaque compétence est requise au niveau 'Expert'
         $advertSkill->setLevel('Expert');
         // Et bien sûr, on persiste cette entité de relation, propriétaire des deux autres relations
         $em->persist($advertSkill);
     }
     $categories = $em->getRepository('OCPlatformBundle:Category')->findAll();
     foreach ($categories as $category) {
         $advert->addCategory($category);
     }
     // Étape 1 : On « persiste » l'entité
     $em->persist($advert);
     // Étape 1 bis : si on n'avait pas défini le cascade={"persist"},
     // on devrait persister à la main l'entité $image
     $em->persist($application1);
     $em->persist($application2);
     // Étape 2 : On déclenche l'enregistrement
     $em->flush();
     // Si la requête est en POST, c'est que le visiteur a soumis le formulaire
     if ($request->isMethod('POST')) {
         // Ici, on s'occupera de la création et de la gestion du formulaire
     }
     $request->getSession()->getFlashBag()->add('notice', 'Annonce bien enregistrée.');
     // Puis on redirige vers la page de visualisation de cettte annonce
     return $this->redirectToRoute('oc_platform_view', array('id' => $advert->getId()));
 }