/** * @Route("/taches/ajout") * @Template() */ public function ajoutAction(Request $request) { $session = $request->getSession(); //0 valeur par defaut si vide $id_user = $session->get('user', 0); if ($id_user == 0) { $request->getSession()->getFlashBag()->add('error', 'OULAH ! Il s\'est passé un truc pas net O.o. Tu t\'es déco ?'); return $this->redirect($this->generateUrl('corvee_taches_homepage', array())); } $tache = new Tache(); $tache->setDatePrevu(new \Datetime()); $em = $this->getDoctrine()->getManager(); //A soi par defaut $user = $em->getRepository('Corvees\\TachesBundle\\Entity\\User')->find($id_user); $tache->setFkAuteur($user); $tache->setFkAssigne($user); $form = $this->get('form.factory')->create(new TacheType(), $tache); if ($form->handleRequest($request)->isValid()) { $em->persist($tache); $em->flush(); $request->getSession()->getFlashBag()->add('notice', 'Tache bien enregistrée.'); return $this->redirect($this->generateUrl('corvee_taches_homepage', array())); } return array('form' => $form->createView(), 'route' => 'formulaire_tache_ajout'); }
public function load(ObjectManager $manager) { // Liste des noms de famille à ajouter avec leur couleur (blanc par defaut) $liste = array(array('titre' => 'Création de taches tests', 'auteur' => 'Lucie', 'famille' => 'Extérieur', 'difficulte' => 'Ennuyeux', 'date_prevu' => '2015-07-08 15:00:00'), array('titre' => 'Apprendre symfony', 'auteur' => 'Florian', 'difficulte' => 'Ereintant', 'famille' => 'Extérieur', 'commentaire' => 'Y a qu\'à s\'y mettre')); foreach ($liste as $tab_info) { //On récupère les objets $famille = $manager->getRepository('Corvees\\TachesBundle\\Entity\\Famille')->findOneByTitre($tab_info["famille"]); $auteur = $manager->getRepository('Corvees\\TachesBundle\\Entity\\User')->findOneByPrenom($tab_info["auteur"]); $difficulte = $manager->getRepository('Corvees\\TachesBundle\\Entity\\Difficulte')->findOneByTitre($tab_info["difficulte"]); $tache = new Tache(); $tache->setFkDifficulte($difficulte); $tache->setFkFamille($famille); $tache->setFkAuteur($auteur); $tache->setTitre($tab_info["titre"]); if (isset($tab_info["commentaire"])) { $tache->setCommentaire($tab_info["commentaire"]); } if (isset($tab_info["date_prevu"])) { $tache->setDatePrevu(new \DateTime($tab_info["date_prevu"])); } if (isset($tab_info["assigne"])) { $assigne = $manager->getRepository('Corvees\\TachesBundle\\Entity\\User')->findOneByPrenom($tab_info["assigne"]); $tache->setFkAssigne($assigne); } else { $tache->setFkAssigne($auteur); } // On la persiste $manager->persist($tache); } // On déclenche l'enregistrement de toutes les famille $manager->flush(); }