/**
  * @param Request $request
  * @Route("/handmades/create")
  * @Template
  */
 public function createAction(Request $request)
 {
     $em = $this->getDoctrine()->getManager();
     if (!$this->getUser()) {
         $this->addFlash('danger', 'Щоб отпримати можливість створювати записи, спочатку треба авторизуватися');
         return new RedirectResponse($this->generateUrl('basarab_handmade_index_index'));
     }
     $handmade = new Handmade();
     $form = $this->createForm(new HandmadeType(), $handmade);
     $form->handleRequest($request);
     if ($form->isValid()) {
         $em = $this->getDoctrine()->getManager();
         $tags = $form->get('tag')->getData();
         foreach ($tags as $tag) {
             $tagRequest = $em->getRepository('BasarabHandmadeBundle:Tag')->findOneByName($tag);
             if (!$tagRequest) {
                 $newTag = new Tag();
                 $newTag->setName($tag);
                 $handmade->addTag($newTag);
             } else {
                 $handmade->addTag($tagRequest);
             }
         }
         $handmade->setAuthor($this->getUser());
         $em->persist($handmade);
         $em->flush();
         $this->addFlash('success', 'Запис успішно добавлено');
         return new RedirectResponse($this->generateUrl('basarab_handmade_index_index'));
     }
     return ['form' => $form->createView()];
 }
Exemplo n.º 2
0
 public function load(ObjectManager $manager)
 {
     $handmade1 = new Tag();
     $handmade1->setName("Тег 1");
     $manager->persist($handmade1);
     $manager->flush();
     $handmade2 = new Tag();
     $handmade2->setName("Тег 2");
     $manager->persist($handmade2);
     $manager->flush();
 }
Exemplo n.º 3
0
 /**
  * Remove tag
  *
  * @param \Basarab\HandmadeBundle\Entity\Tag $tag
  */
 public function removeTag(\Basarab\HandmadeBundle\Entity\Tag $tag)
 {
     $tag->removeHandmade($this);
     $this->tags->removeElement($tag);
 }