<?php
namespace App\MDS\EventsBundle\Form;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\HiddenType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use App\Entity\Destination;
use App\MDS\EventsBundle\Entity\ProposalControl;
use Doctrine\ORM\EntityRepository;
class ProposalControlType extends AbstractType
{
/**
* {@inheritdoc}
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('proposalId', HiddenType::class)
// ->add('destinationId', EntityType::class, array(
// 'class' => Destination::class,
// 'choice_label' => 'title',
// 'choice_value' => 'id',
// 'expanded' => false,
// 'multiple' => false,
// 'placeholder' => 'Select a Destination Title'))
->add('destinationId', EntityType::class, array(
'choice_label' => function (Destination $dest) {
return $dest->getTitle();
},
'choice_value' => 'id',
'query_builder' => function(EntityRepository $userRepository) {
$qb = $userRepository->createQueryBuilder('d');
return $qb->orderBy('d.title', 'ASC');
},
'class' => Destination::class,
))
->add('save', SubmitType::class)
;
}
/**
* {@inheritdoc}
*/
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => ProposalControl::class
));
}
/**
* {@inheritdoc}
*/
public function getBlockPrefix()
{
return 'proposalcontrol';
}
}