Beispiel #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();
 }
Beispiel #2
0
 /**
  * New category page
  * @return \Symfony\Component\HttpFoundation\Response
  */
 public function newAction(Request $request)
 {
     $category = new Category();
     $user = $this->getUser();
     $category->setJeweler($user);
     //j'associe mon jeweler 1 à mon produit
     // je crée un formulaire de produit
     $form = $this->createForm(new CategoryType($user), $category, array('validation_groups' => 'new', 'attr' => array('method' => 'post', 'novalidate' => 'novalidate', 'action' => $this->generateUrl('store_backend_category_new'))));
     $form->handleRequest($request);
     if ($form->isValid()) {
         $em = $this->getDoctrine()->getManager();
         //je récupère le manager de Doctrine
         // j'upload mon fichier en faisant appel a la methode upload()
         $category->upload();
         $em->persist($category);
         //j'enregistre mon objet product dans doctrine
         $em->flush();
         //j'envoie ma requete d'insert à ma table product
         // création de l'ACL
         $aclProvider = $this->get('security.acl.provider');
         $objectIdentity = ObjectIdentity::fromDomainObject($category);
         $acl = $aclProvider->createAcl($objectIdentity);
         // retrouve l'identifiant de sécurité de l'utilisateur actuellement connecté
         $tokenStorage = $this->get('security.token_storage');
         $user = $tokenStorage->getToken()->getUser();
         $securityIdentity = UserSecurityIdentity::fromAccount($user);
         // donne accès au propriétaire
         $acl->insertObjectAce($securityIdentity, MaskBuilder::MASK_OWNER);
         $aclProvider->updateAcl($acl);
         $this->get('session')->getFlashBag()->add('success', 'Votre catégorie a bien été crée');
         return $this->redirectToRoute('store_backend_category_list');
         //redirection selon la route
     }
     return $this->render('StoreBackendBundle:Category:new.html.twig', array('form' => $form->createView()));
 }