deprecate the unused scale option
This commit is contained in:
parent
a26bd3673f
commit
40413aad24
@ -55,6 +55,8 @@ Finder
|
||||
Form
|
||||
----
|
||||
|
||||
* The `scale` option of the `IntegerType` is deprecated.
|
||||
|
||||
* Deprecated calling `FormRenderer::searchAndRenderBlock` for fields which were already rendered.
|
||||
Instead of expecting such calls to return empty strings, check if the field has already been rendered.
|
||||
|
||||
|
@ -69,6 +69,11 @@ Finder
|
||||
|
||||
* The `Finder::sortByName()` method has a new `$useNaturalSort` argument.
|
||||
|
||||
Form
|
||||
----
|
||||
|
||||
* The `scale` option was removed from the `IntegerType`.
|
||||
|
||||
FrameworkBundle
|
||||
---------------
|
||||
|
||||
|
@ -6,6 +6,7 @@ CHANGELOG
|
||||
|
||||
* added `Symfony\Component\Form\ClearableErrorsInterface`
|
||||
* deprecated calling `FormRenderer::searchAndRenderBlock` for fields which were already rendered
|
||||
* deprecated the `scale` option of the `IntegerType`
|
||||
|
||||
4.1.0
|
||||
-----
|
||||
|
@ -25,7 +25,7 @@ class IntegerType extends AbstractType
|
||||
{
|
||||
$builder->addViewTransformer(
|
||||
new IntegerToLocalizedStringTransformer(
|
||||
$options['scale'],
|
||||
null,
|
||||
$options['grouping'],
|
||||
$options['rounding_mode']
|
||||
));
|
||||
@ -37,8 +37,6 @@ class IntegerType extends AbstractType
|
||||
public function configureOptions(OptionsResolver $resolver)
|
||||
{
|
||||
$resolver->setDefaults(array(
|
||||
// default scale is locale specific (usually around 3)
|
||||
'scale' => null,
|
||||
'grouping' => false,
|
||||
// Integer cast rounds towards 0, so do the same when displaying fractions
|
||||
'rounding_mode' => IntegerToLocalizedStringTransformer::ROUND_DOWN,
|
||||
@ -55,7 +53,9 @@ class IntegerType extends AbstractType
|
||||
IntegerToLocalizedStringTransformer::ROUND_CEILING,
|
||||
));
|
||||
|
||||
$resolver->setDefined('scale');
|
||||
$resolver->setAllowedTypes('scale', array('null', 'int'));
|
||||
$resolver->setDeprecated('scale');
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -15,11 +15,13 @@ use PHPUnit\Framework\TestCase;
|
||||
use Symfony\Component\Console\Application;
|
||||
use Symfony\Component\Console\Exception\InvalidArgumentException;
|
||||
use Symfony\Component\Console\Tester\CommandTester;
|
||||
use Symfony\Component\Form\AbstractType;
|
||||
use Symfony\Component\Form\Command\DebugCommand;
|
||||
use Symfony\Component\Form\Extension\Core\Type\TextType;
|
||||
use Symfony\Component\Form\FormRegistry;
|
||||
use Symfony\Component\Form\ResolvedFormTypeFactory;
|
||||
use Symfony\Component\Form\Tests\Console\Descriptor\FooType;
|
||||
use Symfony\Component\OptionsResolver\Options;
|
||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||
|
||||
class DebugCommandTest extends TestCase
|
||||
{
|
||||
@ -40,10 +42,15 @@ class DebugCommandTest extends TestCase
|
||||
$this->assertEquals(0, $ret, 'Returns 0 in case of success');
|
||||
$this->assertSame(<<<TXT
|
||||
|
||||
Built-in form types (Symfony\Component\Form\Extension\Core\Type)
|
||||
----------------------------------------------------------------
|
||||
|
||||
IntegerType
|
||||
|
||||
Service form types
|
||||
------------------
|
||||
|
||||
* Symfony\Component\Form\Tests\Console\Descriptor\FooType
|
||||
* Symfony\Component\Form\Tests\Command\FooType
|
||||
|
||||
|
||||
TXT
|
||||
@ -147,3 +154,25 @@ TXT
|
||||
return new CommandTester($application->find('debug:form'));
|
||||
}
|
||||
}
|
||||
|
||||
class FooType extends AbstractType
|
||||
{
|
||||
public function configureOptions(OptionsResolver $resolver)
|
||||
{
|
||||
$resolver->setRequired('foo');
|
||||
$resolver->setDefined('bar');
|
||||
$resolver->setDeprecated('bar');
|
||||
$resolver->setDefault('empty_data', function (Options $options) {
|
||||
$foo = $options['foo'];
|
||||
|
||||
return function (FormInterface $form) use ($foo) {
|
||||
return $form->getConfig()->getCompound() ? array($foo) : $foo;
|
||||
};
|
||||
});
|
||||
$resolver->setAllowedTypes('foo', 'string');
|
||||
$resolver->setAllowedValues('foo', array('bar', 'baz'));
|
||||
$resolver->setNormalizer('foo', function (Options $options, $value) {
|
||||
return (string) $value;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user