fix deprecations: use fqcn

This commit is contained in:
nobohan 2018-04-04 18:11:51 +02:00
parent 23dd4ec48b
commit 7edd6affe4

View File

@ -5,10 +5,15 @@ namespace Chill\CustomFieldsBundle\Form;
use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver; use Symfony\Component\OptionsResolver\OptionsResolver;
use Chill\CustomFieldsBundle\Service\CustomFieldProvider; use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
use Symfony\Component\Form\Extension\Core\Type\HiddenType;
use Symfony\Component\Form\Extension\Core\Type\EntityType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Extension\Core\Type\NumberType;
use Symfony\Component\Form\FormEvent; use Symfony\Component\Form\FormEvent;
use Symfony\Component\Form\FormEvents; use Symfony\Component\Form\FormEvents;
use Doctrine\Common\Persistence\ObjectManager; use Doctrine\Common\Persistence\ObjectManager;
use Chill\CustomFieldsBundle\Service\CustomFieldProvider;
use Chill\CustomFieldsBundle\Form\DataTransformer\CustomFieldsGroupToIdTransformer; use Chill\CustomFieldsBundle\Form\DataTransformer\CustomFieldsGroupToIdTransformer;
@ -19,15 +24,15 @@ class CustomFieldType extends AbstractType
* @var CustomFieldProvider * @var CustomFieldProvider
*/ */
private $customFieldProvider; private $customFieldProvider;
private $culture = 'fr'; private $culture = 'fr';
/** /**
* @var ObjectManager * @var ObjectManager
*/ */
private $om; private $om;
public function __construct(CustomFieldProvider $compiler, public function __construct(CustomFieldProvider $compiler,
ObjectManager $om) ObjectManager $om)
{ {
@ -40,39 +45,39 @@ class CustomFieldType extends AbstractType
*/ */
public function buildForm(FormBuilderInterface $builder, array $options) public function buildForm(FormBuilderInterface $builder, array $options)
{ {
$customFieldsList = array(); $customFieldsList = array();
foreach ($this->customFieldProvider->getAllFields() as $key => $field) { foreach ($this->customFieldProvider->getAllFields() as $key => $field) {
$customFieldsList[$key] = $field->getName(); $customFieldsList[$key] = $field->getName();
} }
$builder $builder
->add('name', 'translatable_string') ->add('name', 'translatable_string')
->add('active', 'checkbox', array('required' => false)); ->add('active', CheckboxType::class, array('required' => false));
if ($options['group_widget'] === 'entity') { if ($options['group_widget'] === 'entity') {
$builder->add('customFieldsGroup', 'entity', array( $builder->add('customFieldsGroup', EntityType::class, array(
'class' => 'ChillCustomFieldsBundle:CustomFieldsGroup', 'class' => 'ChillCustomFieldsBundle:CustomFieldsGroup',
'property' => 'name['.$this->culture.']' 'property' => 'name['.$this->culture.']'
)); ));
} elseif ($options['group_widget'] === 'hidden') { } elseif ($options['group_widget'] === 'hidden') {
$builder->add('customFieldsGroup', 'hidden'); $builder->add('customFieldsGroup', HiddenType::class);
$builder->get('customFieldsGroup') $builder->get('customFieldsGroup')
->addViewTransformer(new CustomFieldsGroupToIdTransformer($this->om)); ->addViewTransformer(new CustomFieldsGroupToIdTransformer($this->om));
} else { } else {
throw new \LogicException('The value of group_widget is not handled'); throw new \LogicException('The value of group_widget is not handled');
} }
$builder $builder
->add('ordering', 'number') ->add('ordering', NumberType::class)
->add('required', 'checkbox', array( ->add('required', CheckboxType::class, array(
'required' => false, 'required' => false,
//'expanded' => TRUE, //'expanded' => TRUE,
'label' => 'Required field' 'label' => 'Required field'
)) ))
->add('type', 'hidden', array('data' => $options['type'])) ->add('type', HiddenType::class, array('data' => $options['type']))
->addEventListener(FormEvents::PRE_SET_DATA, function (FormEvent $event) ->addEventListener(FormEvents::PRE_SET_DATA, function (FormEvent $event)
{ {
$customField = $event->getData(); $customField = $event->getData();
$form = $event->getForm(); $form = $event->getForm();
@ -81,11 +86,11 @@ class CustomFieldType extends AbstractType
// If no data is passed to the form, the data is "null". // If no data is passed to the form, the data is "null".
// This should be considered a new "customField" // This should be considered a new "customField"
if (!$customField || null === $customField->getId()) { if (!$customField || null === $customField->getId()) {
$form->add('slug', 'text'); $form->add('slug', TextType::class);
} }
}); });
$builder->add( $builder->add(
$this->customFieldProvider $this->customFieldProvider
->getCustomFieldByType($options['type']) ->getCustomFieldByType($options['type'])
@ -96,7 +101,7 @@ class CustomFieldType extends AbstractType
) )
); );
} }
/** /**
* @param OptionsResolverInterface $resolver * @param OptionsResolverInterface $resolver
*/ */
@ -104,8 +109,8 @@ class CustomFieldType extends AbstractType
{ {
$resolver->setDefaults(array( $resolver->setDefaults(array(
'data_class' => 'Chill\CustomFieldsBundle\Entity\CustomField' 'data_class' => 'Chill\CustomFieldsBundle\Entity\CustomField'
)); ));
$resolver->setRequired(array('type', 'group_widget')) $resolver->setRequired(array('type', 'group_widget'))
->addAllowedValues(array( ->addAllowedValues(array(
'type' => array_keys($this->customFieldProvider->getAllFields()), 'type' => array_keys($this->customFieldProvider->getAllFields()),