Example #1
0
 /**
  * Cette methode me permettra de charger mes données
  * (catégories)
  * {@inheritDoc}
  */
 public function load(ObjectManager $manager)
 {
     // Ma 1ere catégorie
     $categorie = new Category();
     $categorie->setTitle('Colliers Magnifiques');
     $categorie->setDescription('Jolie description
     de vos magnifiques colliers');
     // Ma 2ere catégorie
     $categorie2 = new Category();
     $categorie2->setTitle('Bracelets Glamours');
     $categorie2->setDescription('Belle description
     complete de vos bracelets glamours');
     // Mon 1er produit
     $product = new Product();
     // Associé un jeweler à mon produit
     // Je recupere mon jeweler numéro 1
     $jeweler = $manager->getRepository('StoreBackendBundle:Jeweler')->find(1);
     $product->addCategory($categorie);
     $product->setJeweler($jeweler);
     $product->setTitle('Collier Azure Ete');
     $product->setDescription('Collier composé
     de perles nacrées avec vernissage et finition
     de pierres Swarovski');
     $product->setComposition('Perles nacrées, Pierres précieuses');
     $product->setActive(true);
     $product->setCover(true);
     $manager->persist($product);
     $manager->persist($categorie);
     $manager->persist($categorie2);
     $manager->flush();
 }
Example #2
0
 /**
  * Page Action
  * Je recupere l'objet Request qui contient toutes mes données en GET, POST ...
  */
 public function newAction(Request $request)
 {
     //je créer une nouvel objet de mon entité Product
     $product = new Product();
     $user = $this->getUser();
     $product->setJeweler($user);
     //j'associe mon jeweler 1 à mon bijou
     // je crée un formulaire de bijou en associant avec mon bijou
     $form = $this->createForm(new ProductType($user), $product, array('validation_groups' => 'new', 'attr' => array('method' => 'post', 'novalidate' => "novalidate", 'action' => $this->generateUrl('store_backend_product_new'))));
     // Je fusionne ma requête  avec mon formulaire
     $form->handleRequest($request);
     // Si la totalité du formulaire est valide
     if ($form->isValid()) {
         // j'upload mon fichier en faisant appel a la methode upload()
         $product->upload();
         $em = $this->getDoctrine()->getManager();
         //je récupère le manager de Doctrine
         $em->persist($product);
         //j'enregistre mon objet product dans doctrine
         $em->flush();
         //j'envoi ma requete d'insert à ma table product
         //je créer un message flash avec pour clef "success"
         // et un message de confirmation
         $this->get('session')->getFlashBag()->add('success', 'Votre bijou a bien été crée');
         //je récupere la quantité du bijou enregistrer
         $quantity = $product->getQuantity();
         if ($quantity == 1) {
             //je créer un message flash avec pour clef "success"
             // et un message de confirmation
             $this->get('session')->getFlashBag()->add('warning', 'Votre bijou est un bijou unique !');
         }
         return $this->redirectToRoute('store_backend_product_list');
         //redirection selon la route
     }
     return $this->render('StoreBackendBundle:Product:new.html.twig', array('form' => $form->createView()));
 }