/** * Creates a new Lots entity. * */ public function createAction(Request $request) { $entity = new Lots(); $form = $this->createCreateForm($entity); $form->handleRequest($request); if ($form->isValid()) { $em = $this->getDoctrine()->getManager(); $user = $this->container->get('security.context')->getToken()->getUser(); $entity->setUser($user); $uploadedFiles = $request->files->get('myfile'); $numUploadedFiles = count($uploadedFiles); if ($numUploadedFiles > 0) { $tmp_gallery = new Gallery(); $mediaManager = $this->container->get('sonata.media.manager.media'); $uploadedFiles = $request->files->get('myfile'); $tmp_gallery->setName($entity->getTitle()); $tmp_gallery->setContext('default'); $tmp_gallery->setDefaultFormat('default_small'); $tmp_gallery->setEnabled(true); // $em->persist($tmp_gallery); // $em->refresh($tmp_gallery); for ($i = 0; $i < $numUploadedFiles; $i++) { $tmp_media = new Media(); $tmp_galleryHasMedia = new GalleryHasMedia(); $tmp_media->setBinaryContent($uploadedFiles[$i]->getRealPath()); $tmp_media->setContext('default'); $tmp_media->setName($uploadedFiles[$i]->getClientOriginalName()); $mediaManager->save($tmp_media, 'default', 'sonata.media.provider.image'); $tmp_galleryHasMedia->setMedia($tmp_media); $tmp_galleryHasMedia->setEnabled(true); $tmp_galleryHasMedia->setGallery($tmp_gallery); $em->persist($tmp_galleryHasMedia); } $em->persist($tmp_gallery); $em->flush(); $em->refresh($tmp_gallery); $entity->setGallery($tmp_gallery); } $offer = new Offer(); $em->persist($offer); $entity->setOffer($offer); $em->persist($entity); $em->flush(); return $this->redirect($this->generateUrl('lots_show', array('id' => $entity->getId()))); } return $this->render('AESlandsBundle:Lots:new.html.twig', array('entity' => $entity, 'form' => $form->createView())); }
public function addAlbumAction(Request $request) { $user = $this->getUser(); $form = $this->createForm(new AlbumType()); $form->handleRequest($request); if ($form->isValid()) { $newAlbum = new Gallery(); $data = $form->getData(); $newAlbum->setName($data->getName())->setContext('default')->setDefaultFormat('default_small')->setEnabled(true); $userAlbum = new UserGallery(); $userAlbum->setOwner($user)->setGallery($newAlbum); $em = $this->getDoctrine()->getManager(); $em->persist($newAlbum); $em->persist($userAlbum); $em->flush(); $user->addAlbum($userAlbum); $userManager = $this->get('fos_user.user_manager'); $userManager->updateUser($user); $url = $this->generateUrl('user_show_albums', ['id' => $user->getId()]); $response = new RedirectResponse($url); return $response; } return $this->render('NetworkUserBundle:Albums:add_album.html.twig', ['form' => $form->createView()]); }
public function mediaUploaded(MediaArrayEvent $event) { $em = $this->doctrine->getManager(); $mediaArray = $event->getMedia(); $gallery = $this->galleryManager->findOneBy(array("name" => "Media Library")); if (!$gallery) { $gallery = new Gallery(); $gallery->setName("Media Library"); $gallery->setContext('default'); $gallery->setDefaultFormat('big'); $gallery->setEnabled(true); $em->persist($gallery); } foreach ($mediaArray as $media) { $galleryHasMedia = new GalleryHasMedia(); $galleryHasMedia->setMedia($media); $galleryHasMedia->setGallery($gallery); $galleryHasMedia->setEnabled(true); $em->persist($galleryHasMedia); } $em->flush(); }
/** * Test that Id is null at the beginning. */ public function testGetId() { $this->assertNull($this->gallery->getId()); }