/** * @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')); }
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; } }
/** * {@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); }
/** * @param mixed $media * @return mixed|void */ public function preUpdate($media) { if ($checksum = $this->getChecksum($media)) { $media->setMd5File($checksum); } return parent::preUpdate($media); }