Example #1
0
 /**
  * @param \Sonata\MediaBundle\Model\GalleryInterface $gallery
  * @param \Sonata\MediaBundle\Model\MediaInterface $media
  * @return void
  */
 public function addMedia(GalleryInterface $gallery, MediaInterface $media)
 {
     $galleryHasMedia = new \Application\Sonata\MediaBundle\Entity\GalleryHasMedia();
     $galleryHasMedia->setMedia($media);
     $galleryHasMedia->setPosition(count($gallery->getGalleryHasMedias()) + 1);
     $galleryHasMedia->setEnabled(true);
     $gallery->addGalleryHasMedias($galleryHasMedia);
 }
 /**
  * Write a GalleryHasMedia, this method is used by both POST and PUT action methods.
  *
  * @param GalleryInterface         $gallery
  * @param MediaInterface           $media
  * @param GalleryHasMediaInterface $galleryHasMedia
  * @param Request                  $request
  *
  * @return FOSRestView|\Symfony\Component\Form\FormInterface
  */
 protected function handleWriteGalleryhasmedia(GalleryInterface $gallery, MediaInterface $media, GalleryHasMediaInterface $galleryHasMedia = null, Request $request)
 {
     $form = $this->formFactory->createNamed(null, 'sonata_media_api_form_gallery_has_media', $galleryHasMedia, array('csrf_protection' => false));
     $form->bind($request);
     if ($form->isValid()) {
         $galleryHasMedia = $form->getData();
         $galleryHasMedia->setMedia($media);
         $gallery->addGalleryHasMedias($galleryHasMedia);
         $this->galleryManager->save($gallery);
         $view = FOSRestView::create($galleryHasMedia);
         $serializationContext = SerializationContext::create();
         $serializationContext->setGroups(array('sonata_api_read'));
         $serializationContext->enableMaxDepthChecks();
         $view->setSerializationContext($serializationContext);
         return $view;
     }
     return $form;
 }
 /**
  * @param \Sonata\MediaBundle\Model\GalleryInterface $gallery
  *
  * @return array
  */
 private function buildElements(GalleryInterface $gallery)
 {
     $elements = array();
     foreach ($gallery->getGalleryHasMedias() as $galleryHasMedia) {
         if (!$galleryHasMedia->getEnabled()) {
             continue;
         }
         $type = $this->getMediaType($galleryHasMedia->getMedia());
         if (!$type) {
             continue;
         }
         $elements[] = array('title' => $galleryHasMedia->getMedia()->getName(), 'caption' => $galleryHasMedia->getMedia()->getDescription(), 'type' => $type, 'media' => $galleryHasMedia->getMedia());
     }
     return $elements;
 }
Example #4
0
 /**
  * @param MediaInterface   $media
  * @param GalleryInterface $gallery
  */
 protected function addMediaToGallery(MediaInterface $media, GalleryInterface $gallery)
 {
     $galleryHasMedia = new GalleryHasMedia();
     $galleryHasMedia->setMedia($media);
     $galleryHasMedia->setPosition(count($gallery->getGalleryHasMedias()) + 1);
     $galleryHasMedia->setEnabled(true);
     $gallery->addGalleryHasMedias($galleryHasMedia);
 }