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(); }
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'); }
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(); }
/** * @Security("has_role('ROLE_AUTEUR')") */ public function addAction(Request $request) { $advert = new Advert(); $advert->setAuthor($this->container->get('security.token_storage')->getToken()->getUser()); $form = $this->createForm(AdvertType::class, $advert); if ($form->handleRequest($request)->isValid()) { $event = new MessagePostEvent($advert->getContent(), $advert->getUser()); $this->get('event_dispatcher')->dispatch(BigbrotherEvents::onMessagePost, $event); $advert->setContent($event->getMessage()); $em = $this->getDoctrine()->getManager(); $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())); }
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(); }
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(); }
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'); }
/** * @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())); }
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(); }
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 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(); }
public function testAction() { $advert = new Advert(); $advert->setDate(new \Datetime()); // Champ « date » OK $advert->setTitle('abc'); // Champ « title » incorrect : moins de 10 caractères //$advert->setContent('blabla'); // Champ « content » incorrect : on ne le définit pas $advert->setAuthor('A'); // Champ « author » incorrect : moins de 2 caractères // On récupère le service validator $validator = $this->get('validator'); // On déclenche la validation sur notre object $listErrors = $validator->validate($advert); // Si le tableau n'est pas vide, on affiche les erreurs if (count($listErrors) > 0) { return new Response(print_r($listErrors, true)); } else { return new Response("L'annonce est valide !"); } }
public function viewAction($id) { $advert = new Advert(); $advert->setContent("Recherche développeur Symfony2."); return $this->render('OCPlatformBundle:Advert:view.html.twig', array('advert' => $advert)); }
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'); }
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 » }
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 !"); } }
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())); }