10000 deprecate the unused scale option · symfony/symfony@40413aa · GitHub
[go: up one dir, main page]

Skip to content

Commit 40413aa

Browse files
committed
deprecate the unused scale option
1 parent a26bd36 commit 40413aa

File tree

5 files changed

+42
-5
lines changed

5 files changed

+42
-5
lines changed

UPGRADE-4.2.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,8 @@ Finder
5555
Form
5656
----
5757

58+
* The `scale` option of the `IntegerType` is deprecated.
59+
5860
* Deprecated calling `FormRenderer::searchAndRenderBlock` for fields which were already rendered.
5961
Instead of expecting such calls to return empty strings, check if the field has already been rendered.
6062

UPGRADE-5.0.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,11 @@ Finder
6969

7070
* The `Finder::sortByName()` method has a new `$useNaturalSort` argument.
7171

72+
Form
73+
----
74+
75+
* The `scale` option was removed from the `IntegerType`.
76+
7277
FrameworkBundle
7378
---------------
7479

src/Symfony/Component/Form/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ CHANGELOG
66

77
* added `Symfony\Component\Form\ClearableErrorsInterface`
88
* deprecated calling `FormRenderer::searchAndRenderBlock` for fields which were already rendered
9+
* deprecated the `scale` option of the `IntegerType`
910

1011
4.1.0
1112
-----

src/Symfony/Component/Form/Extension/Core/Type/IntegerType.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public function buildForm(FormBuilderInterface $builder, array $options)
2525
{
2626
$builder->addViewTransformer(
2727
new IntegerToLocalizedStringTransformer(
28-
$options['scale'],
28+
null,
2929
$options['grouping'],
3030
$options['rounding_mode']
3131
));
@@ -37,8 +37,6 @@ public function buildForm(FormBuilderInterface $builder, array $options)
3737
public function configureOptions(OptionsResolver $resolver)
3838
{
3939
$resolver->setDefaults(array(
40-
// default scale is locale specific (usually around 3)
41-
'scale' => null,
4240
'grouping' => false,
4341
// Integer cast rounds towards 0, so do the same when displaying fractions
4442
'rounding_mode' => IntegerToLocalizedStringTransformer::ROUND_DOWN,
@@ -55,7 +53,9 @@ public function configureOptions(OptionsResolver $resolver)
5553
IntegerToLocalizedStringTransformer::ROUND_CEILING,
5654
));
5755

56+
$resolver->setDefined('scale');
5857
$resolver->setAllowedTypes('scale', array('null', 'int'));
58+
$resolver E864 ->setDeprecated('scale');
5959
}
6060

6161
/**

src/Symfony/Component/Form/Tests/Command/DebugCommandTest.php

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,13 @@
1515
use Symfony\Component\Console\Application;
1616
use Symfony\Component\Console\Exception\InvalidArgumentException;
1717
use Symfony\Component\Console\Tester\CommandTester;
18+
use Symfony\Component\Form\AbstractType;
1819
use Symfony\Component\Form\Command\DebugCommand;
1920
use Symfony\Component\Form\Extension\Core\Type\TextType;
2021
use Symfony\Component\Form\FormRegistry;
2122
use Symfony\Component\Form\ResolvedFormTypeFactory;
22-
use Symfony\Component\Form\Tests\Console\Descriptor\FooType;
23+
use Symfony\Component\OptionsResolver\Options;
24+
use Symfony\Component\OptionsResolver\OptionsResolver;
2325

2426
class DebugCommandTest extends TestCase
2527
{
@@ -40,10 +42,15 @@ public function testDebugDeprecatedDefaults()
4042
$this->assertEquals(0, $ret, 'Returns 0 in case of success');
4143
$this->assertSame(<<<TXT
4244
45+
Built-in form types (Symfony\Component\Form\Extension\Core\Type)
46+
----------------------------------------------------------------
47+
48+
IntegerType
49+
4350
Service form types
4451
------------------
4552
46-
* Symfony\Component\Form\Tests\Console\Descriptor\FooType
53+
* Symfony\Component\Form\Tests\Command\FooType
4754
4855
4956
TXT
@@ -147,3 +154,25 @@ private function createCommandTester(array $namespaces = array('Symfony\Componen
147154
return new CommandTester($application->find('debug:form'));
148155
}
149156
}
157+
158+
class FooType extends AbstractType
159+
{
160+
public function configureOptions(OptionsResolver $resolver)
161+
{
162+
$resolver->setRequired('foo');
163+
$resolver->setDefined('bar');
164+
$resolver->setDeprecated('bar');
165+
$resolver->setDefault('empty_data', function (Options $options) {
166+
$foo = $options['foo'];
167+
168+
return function (FormInterface $form) use ($foo) {
169+
return $form->getConfig()->getCompound() ? array($foo) : $foo;
170+
};
171+
});
172+
$resolver->setAllowedTypes('foo', 'string');
173+
$resolver->setAllowedValues('foo', array('bar', 'baz'));
174+
$resolver->setNormalizer('foo', function (Options $options, $value) {
175+
return (string) $value;
176+
});
177+
}
178+
}

0 commit comments

Comments
 (0)
0