12
12
namespace Symfony \Component \Form \Extension \Core \Type ;
13
13
14
14
use Symfony \Component \Form \AbstractType ;
15
+ use Symfony \Component \Form \Extension \Core \DataTransformer \NumberToLocalizedStringTransformer ;
15
16
use Symfony \Component \Form \FormInterface ;
16
17
use Symfony \Component \Form \FormBuilderInterface ;
17
18
use Symfony \Component \Form \Extension \Core \DataTransformer \MoneyToLocalizedStringTransformer ;
@@ -31,7 +32,7 @@ public function buildForm(FormBuilderInterface $builder, array $options)
31
32
->addViewTransformer (new MoneyToLocalizedStringTransformer (
32
33
$ options ['scale ' ],
33
34
$ options ['grouping ' ],
34
- null ,
35
+ $ options [ ' rounding_mode ' ] ,
35
36
$ options ['divisor ' ]
36
37
))
37
38
;
@@ -53,11 +54,22 @@ public function configureOptions(OptionsResolver $resolver)
53
54
$ resolver ->setDefaults (array (
54
55
'scale ' => 2 ,
55
56
'grouping ' => false ,
57
+ 'rounding_mode ' => NumberToLocalizedStringTransformer::ROUND_HALF_UP ,
56
58
'divisor ' => 1 ,
57
59
'currency ' => 'EUR ' ,
58
60
'compound ' => false ,
59
61
));
60
62
63
+ $ resolver ->setAllowedValues ('rounding_mode ' , array (
64
+ NumberToLocalizedStringTransformer::ROUND_FLOOR ,
65
+ NumberToLocalizedStringTransformer::ROUND_DOWN ,
66
+ NumberToLocalizedStringTransformer::ROUND_HALF_DOWN ,
67
+ NumberToLocalizedStringTransformer::ROUND_HALF_EVEN ,
68
+ NumberToLocalizedStringTransformer::ROUND_HALF_UP ,
69
+ NumberToLocalizedStringTransformer::ROUND_UP ,
70
+ NumberToLocalizedStringTransformer::ROUND_CEILING ,
71
+ ));
72
+
61
73
$ resolver ->setAllowedTypes ('scale ' , 'int ' );
62
74
}
63
75
0 commit comments