/**
  * @param FormMapper $formMapper
  *
  * @return FormBuilder
  */
 protected function getMediaBuilder(FormMapper $formMapper)
 {
     // simulate an association ...
     $fieldDescription = $this->getMediaAdmin()->getModelManager()->getNewFieldDescriptionInstance($this->mediaAdmin->getClass(), 'media', array('translation_domain' => 'SonataMediaBundle'));
     $fieldDescription->setAssociationAdmin($this->getMediaAdmin());
     $fieldDescription->setAdmin($formMapper->getAdmin());
     $fieldDescription->setOption('edit', 'list');
     $fieldDescription->setAssociationMapping(array('fieldName' => 'media', 'type' => ClassMetadataInfo::MANY_TO_ONE));
     return $formMapper->create('mediaId', 'sonata_type_model_list', array('sonata_field_description' => $fieldDescription, 'class' => $this->getMediaAdmin()->getClass(), 'model_manager' => $this->getMediaAdmin()->getModelManager(), 'label' => 'form.label_media'));
 }
Beispiel #2
0
 public function getTemplate($name)
 {
     switch ($name) {
         case 'edit':
             //dump($this->getForm()->getData()->getProviderName(), $name);die();
             if ($this->getForm()->getData()->getProviderName() == "sonata.media.provider.custom") {
                 return 'ApplicationSonataMediaBundle:MediaAdmin:custom_edit.html.twig';
             } else {
                 return parent::getTemplate($name);
             }
             break;
         default:
             return parent::getTemplate($name);
             break;
     }
 }
Beispiel #3
0
 /**
  * {@inheritdoc}
  */
 public function generateUrl($name, array $parameters = array(), $absolute = false)
 {
     try {
         if ($this->getRequest()->get('pcode')) {
             $parameters['pcode'] = $this->getRequest()->get('pcode');
         }
     } catch (\Exception $e) {
         //do nothing
     }
     return parent::generateUrl($name, $parameters, $absolute);
 }
Beispiel #4
0
 /**
  * @param mixed $media
  * @return mixed|void
  */
 public function preUpdate($media)
 {
     if ($checksum = $this->getChecksum($media)) {
         $media->setMd5File($checksum);
     }
     return parent::preUpdate($media);
 }