Ejemplo n.º 1
0
 public function voirAction(Article $article)
 {
     $em = $this->getDoctrine()->getManager();
     $request = $this->get('request');
     $liste_articleCompetence = $this->getDoctrine()->getManager()->getRepository('SdzBlogBundle:ArticleCompetence')->findByArticle($article->getId());
     return $this->render('SdzBlogBundle:Blog:voir.html.twig', array('article' => $article, 'liste_articleCompetence' => $liste_articleCompetence));
 }
Ejemplo n.º 2
0
 public function ajouterAction()
 {
     // on recupere l'entiteManager
     $em = $this->getDoctrine()->getManager();
     //on cree un objet Article
     $article = new Article();
     $article->setDate(new \Datetime());
     $form = $this->createForm(new ArticleType(), $article);
     //on recupere la requete
     $request = $this->get('request');
     // on verifie qu'elle est de  type post
     if ($request->getMethod() == 'POST') {
         // on fait le lien requete <-> formulaire
         // apartir de la la variable $article comporte les valeur saisi dans le formulaire
         $form->bind($request);
         //on verifie que les valeur rentres sont corrects
         if ($form->isValid()) {
             # on enregistre notre notre objet $article dans la BDD, oubien envoyer par email, ou autre chose
             $em = $this->getDoctrine()->getManager();
             $em->persist($article);
             $em->persist($article->getImage());
             $em->flush();
             //on redirige vers la page de visualisation de l4article nouvelle;ent cree
             return $this->redirect($this->generateUrl('sdzblog_accueil'));
         }
     }
     // a ce stade, soit : - la requete est de type GET , donc le visiteur vient d'arriver sur
     //la page et veut voir le formulaire. -soit la requete est de type POST, ,ais le form non valide
     // donc on l'affiche de nouveau
     return $this->render('SdzBlogBundle:Blog:ajouter.html.twig', array('form' => $form->createView()));
 }
Ejemplo n.º 3
0
 public function load(ObjectManager $manager)
 {
     // Categories
     // $categorie1 = new Categorie;
     // $categorie1->setNom('Action');
     // $categorie2 = new Categorie;
     // $categorie2->setNom('Legende');
     // Commentaires
     $commentaire1 = new Commentaire();
     $commentaire1->setAuteur('Louis Messi');
     $commentaire1->setContenu('Très bon film');
     $commentaire2 = new Commentaire();
     $commentaire2->setAuteur('Louis Messi');
     $commentaire2->setContenu('Film de combat');
     $commentaire3 = new Commentaire();
     $commentaire3->setAuteur('Louis Messi');
     $commentaire3->setContenu('Très bon film');
     $commentaire4 = new Commentaire();
     $commentaire4->setAuteur('Louis Messi');
     $commentaire4->setContenu('Film de combat');
     // Competences
     $article1 = new Article();
     $article1->setTitre('Amazone');
     $article1->setAuteur('Louis Messi');
     $article1->setContenu('Film au coeur de la forêt');
     // $article1->addCategorie($categorie1);
     $article1->addCommentaire($commentaire1);
     $article1->addCommentaire($commentaire2);
     $article1->setNbCommentaires(2);
     $article2 = new Article();
     $article2->setTitre('Xena');
     $article2->setAuteur('Louis Messi');
     $article2->setContenu('Film de légende');
     // $article2->addCategorie($categorie2);
     $article2->addCommentaire($commentaire3);
     $article2->addCommentaire($commentaire4);
     $article2->setNbCommentaires(2);
     // On déclenche l'enregistrement
     $manager->persist($article1);
     $manager->persist($article2);
     $manager->flush();
 }
Ejemplo n.º 4
0
 public function setArticle(\Sdz\BlogBundle\Entity\Article $article)
 {
     $article->addArticleCompetence($this);
     $this->article = $article;
 }
Ejemplo n.º 5
0
 /**
  * @Secure(roles="ROLE_AUTEUR")
  */
 public function modifierAction(Article $article)
 {
     // --- Dans le cas où vous avez un champ "articleCompetences" dans le formulaire - 1/3 ---
     // On place dans un tableau les articleCompetences que contient l'article avant la soumission du formulaire
     // Si certains d'entre eux n'existent plus après la soumission, il faudra donc les supprimer
     $listeAc = array();
     foreach ($article->getArticleCompetences() as $ac) {
         $listeAc[] = $ac;
     }
     // --- Fin du cas 1/3 ---
     // On utilise le ArticleEditType
     $form = $this->createForm(new ArticleEditType(), $article);
     $request = $this->getRequest();
     if ($request->getMethod() == 'POST') {
         $form->bind($request);
         if ($form->isValid()) {
             // --- Dans le cas où vous avez un champ "articleCompetences" dans le formulaire - 2/3 ---
             // Au même titre que dans l'action d'ajout d'un article, on doit enregistrer
             // l'article et ses articleCompetences en deux fois
             $article->getArticleCompetences()->clear();
             // --- Fin du cas 2/3 ---
             // On enregistre l'article
             $em = $this->getDoctrine()->getManager();
             $em->persist($article);
             $em->flush();
             // --- Dans le cas où vous avez un champ "articleCompetences" dans le formulaire - 3/3 ---
             // On enregistre les articleCompetences (propriétaire) maintenant que $article a un id
             foreach ($form->get('articleCompetences')->getData() as $ac) {
                 $ac->setArticle($article);
                 $em->persist($ac);
             }
             // Et on supprime les articleCompetences qui existaient au début mais plus maintenant
             foreach ($listeAc as $originalAc) {
                 foreach ($form->get('articleCompetences')->getData() as $ac) {
                     // Si $originalAc existe dans le formulaire, on sort de la boucle car pas besoin de la supprimer
                     if ($originalAc == $ac) {
                         continue 2;
                     }
                 }
                 // $originalAc n'existe plus dans le formulaire, on la supprime
                 $em->remove($originalAc);
             }
             $em->flush();
             // --- Fin du cas 3/3 ---
             // On définit un message flash
             $this->get('session')->getFlashBag()->add('info', 'Article bien modifié');
             return $this->redirect($this->generateUrl('sdzblog_voir', array('slug' => $article->getSlug())));
         }
     }
     return $this->render('SdzBlogBundle:Blog:modifier.html.twig', array('form' => $form->createView(), 'article' => $article));
 }
Ejemplo n.º 6
0
 public function setArticle(\Sdz\BlogBundle\Entity\Article $article)
 {
     $article->tag($this);
     $this->article = $article;
 }