fix deprecation error: use gqcn and pass option in array

This commit is contained in:
nobohan 2018-04-20 14:19:17 +02:00
parent 1eeee615a3
commit e021cea2da
2 changed files with 7 additions and 12 deletions

View File

@ -88,7 +88,8 @@ class CustomFieldChoice extends AbstractCustomField
'multiple' => $customFieldOptions[self::MULTIPLE],
'choices' => array_combine(array_values($choices),array_keys($choices)),
'required' => $customField->isRequired(),
'label' => $this->translatableStringHelper->localize($customField->getName()));
'label' => $this->translatableStringHelper->localize($customField->getName())
);
//if allow_other = true
if ($customFieldOptions[self::ALLOW_OTHER] == true) {
@ -103,8 +104,10 @@ class CustomFieldChoice extends AbstractCustomField
$builder
->create(
$customField->getSlug(),
new ChoiceWithOtherType($otherValueLabel),
$options)
ChoiceWithOtherType::class,
$options,
array('other_value_label'=> $otherValueLabel)
)
->addModelTransformer(new CustomFieldDataTransformer($this, $customField)));
} else { //if allow_other = false

View File

@ -17,19 +17,12 @@ class ChoiceWithOtherType extends AbstractType
{
private $otherValueLabel = 'Other value';
public function __construct($otherValueLabel = Null) {
if($otherValueLabel) {
$this->otherValueLabel = $otherValueLabel;
}
}
/* (non-PHPdoc)
* @see \Symfony\Component\Form\AbstractType::buildForm()
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
//$otherValueLabel = $options['other_value_label'];
//add an 'other' entry in choices array
$options['choices'][$this->otherValueLabel] = '_other';
//ChoiceWithOther must always be expanded
@ -52,9 +45,8 @@ class ChoiceWithOtherType extends AbstractType
$resolver
->setRequired(array('choices'))
->setAllowedTypes('choices', array('array'))
//->setDefault('other_value_label', null)
->setDefaults(array(
'multiple' => false,
'multiple' => false
))
;
}