Exemplo n.º 1
0
 public function ajouterOeuvreAction(Request $requeteUtilisateur)
 {
     // Contrôle d'accès sur cette action métier
     if (false === $this->get('security.context')->isGranted('ROLE_USER')) {
         throw new AccessDeniedException();
     }
     // je prepare mes formulaires !!!
     // Tableau dans lequel les données du formulaire seront recueillies
     $tabOeuvre = array();
     // Créateur formulaire OEUVRE
     $formOeuvre = $this->createFormBuilder($tabOeuvre)->add('TrancheAge', 'entity', array('label' => 'Tranche d Age', 'class' => 'NarratioWebOeuvresBundle:TrancheAge', 'property' => 'intitule', 'multiple' => false, 'expanded' => false))->add('Genre', 'entity', array('label' => 'Genre', 'class' => 'NarratioWebOeuvresBundle:Genre', 'property' => 'intitule', 'multiple' => false, 'expanded' => false))->add('Epoque', 'entity', array('label' => 'Epoque', 'class' => 'NarratioWebOeuvresBundle:Epoque', 'property' => 'intitule', 'multiple' => false, 'expanded' => false))->add('Thematique', 'entity', array('label' => 'Thematique', 'class' => 'NarratioWebOeuvresBundle:Thematique', 'property' => 'intitule', 'multiple' => false, 'expanded' => false))->add('ProduitDerive', 'textarea', array('label' => 'Produits dérivés'))->add('Concept', 'textarea', array('label' => 'Concept de l oeuvre'))->add('Image', 'url', array('label' => 'Image de l oeuvre'))->add('Nom', 'text', array('label' => 'Nom de l oeuvre'))->getForm();
     $monForm = $formOeuvre;
     if ($this->getRequest()->get('action-type-oeuvre') == 'ajouter') {
         $formOeuvre->handleRequest($requeteUtilisateur);
         $tabOeuvre = $formOeuvre->getData();
         // je recup mes variables
         $Epoque = $tabOeuvre['Epoque'];
         $Genre = $tabOeuvre['Genre'];
         $TrancheAge = $tabOeuvre['TrancheAge'];
         $Thematique = $tabOeuvre['Thematique'];
         $ProduitDerive = $tabOeuvre['ProduitDerive'];
         $Concept = $tabOeuvre['Concept'];
         $image = $tabOeuvre['Image'];
         $Nom = $tabOeuvre['Nom'];
         $oeuvre = new Oeuvre();
         $Image = new Image();
         $Image->setUrl($image);
         //On met en BD !!
         $gestionnaireEntite = $this->getDoctrine()->getManager();
         $gestionnaireEntite->persist($Image);
         $gestionnaireEntite->flush();
         $Note = new Note();
         $Note->setValeur(0);
         //On met en BD !!
         $gestionnaireEntite = $this->getDoctrine()->getManager();
         $gestionnaireEntite->persist($Note);
         $gestionnaireEntite->flush();
         $oeuvre->setEpoque($Epoque);
         $oeuvre->setGenre($Genre);
         $oeuvre->setTrancheAge($TrancheAge);
         $oeuvre->setThematique($Thematique);
         $oeuvre->setConcept($Concept);
         $oeuvre->setProdDer($ProduitDerive);
         $oeuvre->setImage($Image);
         $oeuvre->setNom($Nom);
         $oeuvre->setCompteurVues(0);
         //On met en BD !!
         $gestionnaireEntite = $this->getDoctrine()->getManager();
         $gestionnaireEntite->persist($oeuvre);
         $gestionnaireEntite->flush();
         return $this->voirOeuvreAction($oeuvre->getId());
     }
     // Envoi du formulaire à la vue chargée de l'afficher
     return $this->render('NarratioWebOeuvresBundle:Default:ajouterOeuvre.html.twig', array('monForm' => $monForm->createView()));
 }