* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. * */ namespace Sonata\AdminBundle\Form\Type; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Form\FormFactoryInterface; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormInterface; use Symfony\Component\Form\FormView; use Sonata\AdminBundle\Form\EventListener\MergeCollectionListener; use Sonata\AdminBundle\Form\ChoiceList\ModelChoiceList; use Sonata\AdminBundle\Form\DataTransformer\ModelsToArrayTransformer; use Sonata\AdminBundle\Form\DataTransformer\ModelToIdTransformer; use Sonata\AdminBundle\Model\ModelManagerInterface; class ModelReferenceType extends AbstractType { private $parent; /** * {@inheritDoc} */ public function buildForm(FormBuilderInterface $builder, array $options) { $builder->prependClientTransformer(new ModelToIdTransformer($options['model_manager'], $options['class'])); $this->parent = $options['parent']; } /** * {@inheritDoc} */ public function getDefaultOptions() { return array( 'model_manager' => null, 'class' => null, 'parent' => 'hidden', ); } /** * {@inheritDoc} */ public function getParent() { return $this->parent; } /** * {@inheritDoc} */ public function getName() { return 'sonata_type_model_reference'; } }