8000 [Form] Fixed the default value of "format" in DateType to DateType::D… · symfony/symfony@6e7e08f · GitHub
[go: up one dir, main page]

Skip to content

Commit 6e7e08f

Browse files
committed
[Form] Fixed the default value of "format" in DateType to DateType::DEFAULT_FORMAT if "widget" is not "single_text"
1 parent 889bd2e commit 6e7e08f

File tree

3 files changed

+40
-36
lines changed

3 files changed

+40
-36
lines changed

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

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,10 @@ public function setDefaultOptions(OptionsResolverInterface $resolver)
180180
);
181181
};
182182

183+
$format = function (Options $options) {
184+
return $options['widget'] === 'single_text' ? self::HTML5_FORMAT : self::DEFAULT_FORMAT;
185+
};
186+
183187
// BC until Symfony 2.3
184188
$modelTimezone = function (Options $options) {
185189
return $options['data_timezone'];
@@ -196,7 +200,7 @@ public function setDefaultOptions(OptionsResolverInterface $resolver)
196200
'days' => range(1, 31),
197201
'widget' => 'choice',
198202
'input' => 'datetime',
199-
'format' => self::HTML5_FORMAT,
203+
'format' => $format,
200204
'model_timezone' => $modelTimezone,
201205
'view_timezone' => $viewTimezone,
202206
// Deprecated timezone options

src/Symfony/Component/Form/Tests/AbstractLayoutTest.php

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -809,14 +809,14 @@ public function testDateTime()
809809
[@id="name_date"]
810810
[
811811
./select
812-
[@id="name_date_year"]
813-
[./option[@value="2011"][@selected="selected"]]
814-
/following-sibling::select
815812
[@id="name_date_month"]
816813
[./option[@value="2"][@selected="selected"]]
817814
/following-sibling::select
818815
[@id="name_date_day"]
819816
[./option[@value="3"][@selected="selected"]]
817+
/following-sibling::select
818+
[@id="name_date_year"]
819+
[./option[@value="2011"][@selected="selected"]]
820820
]
821821
/following-sibling::div
822822
[@id="name_time"]
@@ -849,14 +849,14 @@ public function testDateTimeWithEmptyValueGlobal()
849849
[@id="name_date"]
850850
[
851851
./select
852-
[@id="name_date_year"]
853-
[./option[@value=""][.="[trans]Change&Me[/trans]"]]
854-
/following-sibling::select
855852
[@id="name_date_month"]
856853
[./option[@value=""][.="[trans]Change&Me[/trans]"]]
857854
/following-sibling::select
858855
[@id="name_date_day"]
859856
[./option[@value=""][.="[trans]Change&Me[/trans]"]]
857+
/following-sibling::select
858+
[@id="name_date_year"]
859+
[./option[@value=""][.="[trans]Change&Me[/trans]"]]
860860
]
861861
/following-sibling::div
862862
[@id="name_time"]
@@ -889,14 +889,14 @@ public function testDateTimeWithEmptyValueOnTime()
889889
[@id="name_date"]
890890
[
891891
./select
892-
[@id="name_date_year"]
893-
[./option[@value="2011"][@selected="selected"]]
894-
/following-sibling::select
895892
[@id="name_date_month"]
896893
[./option[@value="2"][@selected="selected"]]
897894
/following-sibling::select
898895
[@id="name_date_day"]
899896
[./option[@value="3"][@selected="selected"]]
897+
/following-sibling::select
898+
[@id="name_date_year"]
899+
[./option[@value="2011"][@selected="selected"]]
900900
]
901901
/following-sibling::div
902902
[@id="name_time"]
@@ -928,14 +928,14 @@ public function testDateTimeWithSeconds()
928928
[@id="name_date"]
929929
[
930930
./select
931-
[@id="name_date_year"]
932-
[./option[@value="2011"][@selected="selected"]]
933-
/following-sibling::select
934931
[@id="name_date_month"]
935932
[./option[@value="2"][@selected="selected"]]
936933
/following-sibling::select
937934
[@id="name_date_day"]
938935
[./option[@value="3"][@selected="selected"]]
936+
/following-sibling::select
937+
[@id="name_date_year"]
938+
[./option[@value="2011"][@selected="selected"]]
939939
]
940940
/following-sibling::div
941941
[@id="name_time"]
@@ -1031,14 +1031,14 @@ public function testDateChoice()
10311031
'/div
10321032
[
10331033
./select
1034-
[@id="name_year"]
1035-
[./option[@value="2011"][@selected="selected"]]
1036-
/following-sibling::select
10371034
[@id="name_month"]
10381035
[./option[@value="2"][@selected="selected"]]
10391036
/following-sibling::select
10401037
[@id="name_day"]
10411038
[./option[@value="3"][@selected="selected"]]
1039+
/following-sibling::select
1040+
[@id="name_year"]
1041+
[./option[@value="2011"][@selected="selected"]]
10421042
]
10431043
[count(./select)=3]
10441044
'
@@ -1058,14 +1058,14 @@ public function testDateChoiceWithEmptyValueGlobal()
10581058
'/div
10591059
[
10601060
./select
1061-
[@id="name_year"]
1062-
[./option[@value=""][.="[trans]Change&Me[/trans]"]]
1063-
/following-sibling::select
10641061
[@id="name_month"]
10651062
[./option[@value=""][.="[trans]Change&Me[/trans]"]]
10661063
/following-sibling::select
10671064
[@id="name_day"]
10681065
[./option[@value=""][.="[trans]Change&Me[/trans]"]]
1066+
/following-sibling::select
1067+
[@id="name_year"]
1068+
[./option[@value=""][.="[trans]Change&Me[/trans]"]]
10691069
]
10701070
[count(./select)=3]
10711071
'
@@ -1085,14 +1085,14 @@ public function testDateChoiceWithEmptyValueOnYear()
10851085
'/div
10861086
[
10871087
./select
1088-
[@id="name_year"]
1089-
[./option[@value=""][.="[trans]Change&Me[/trans]"]]
1090-
/following-sibling::select
10911088
[@id="name_month"]
10921089
[./option[@value="1"]]
10931090
/following-sibling::select
10941091
[@id="name_day"]
10951092
[./option[@value="1"]]
1093+
/following-sibling::select
1094+
[@id="name_year"]
1095+
[./option[@value=""][.="[trans]Change&Me[ 10000 /trans]"]]
10961096
]
10971097
[count(./select)=3]
10981098
'
@@ -1110,17 +1110,17 @@ public function testDateText()
11101110
'/div
11111111
[
11121112
./input
1113-
[@id="name_year"]
1114-
[@type="text"]
1115-
[@value="2011"]
1116-
/following-sibling::input
11171113
[@id="name_month"]
11181114
[@type="text"]
11191115
[@value="2"]
11201116
/following-sibling::input
11211117
[@id="name_day"]
11221118
[@type="text"]
11231119
[@value="3"]
1120+
/following-sibling::input
1121+
[@id="name_year"]
1122+
[@type="text"]
1123+
[@value="2011"]
11241124
]
11251125
[count(./input)=3]
11261126
'
@@ -1164,14 +1164,14 @@ public function testBirthDay()
11641164
'/div
11651165
[
11661166
./select
1167-
[@id="name_year"]
1168-
[./option[@value="2000"][@selected="selected"]]
1169-
/following-sibling::select
11701167
[@id="name_month"]
11711168
[./option[@value="2"][@selected="selected"]]
11721169
/following-sibling::select
11731170
[@id="name_day"]
11741171
[./option[@value="3"][@selected="selected"]]
1172+
/following-sibling::select
1173+
[@id="name_year"]
1174+
[./option[@value="2000"][@selected="selected"]]
11751175
]
11761176
[count(./select)=3]
11771177
'
@@ -1190,17 +1190,17 @@ public function testBirthDayWithEmptyValue()
11901190
'/div
11911191
[
11921192
./select
1193-
[@id="name_year"]
1194-
[./option[@value=""][.="[trans][/trans]"]]
1195-
[./option[@value="1950"][@selected="selected"]]
1196-
/following-sibling::select
11971193
[@id="name_month"]
11981194
[./option[@value=""][.="[trans][/trans]"]]
11991195
[./option[@value="1"][@selected="selected"]]
12001196
/following-sibling::select
12011197
[@id="name_day"]
12021198
[./option[@value=""][.="[trans][/trans]"]]
12031199
[./option[@value="1"][@selected="selected"]]
1200+
/following-sibling::select
1201+
[@id="name_year"]
1202+
[./option[@value=""][.="[trans][/trans]"]]
1203+
[./option[@value="1950"][@selected="selected"]]
12041204
]
12051205
[count(./select)=3]
12061206
'

src/Symfony/Component/Form/Tests/Extension/Core/Type/DateTypeTest.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -510,18 +510,18 @@ public function testPassDatePatternToView()
510510
$form = $this->factory->create('date');
511511
$view = $form->createView();
512512

513-
$this->assertSame('{{ year }}-{{ month }}-{{ day }}', $view->vars['date_pattern']);
513+
$this->assertSame('{{ day }}.{{ month }}.{{ year }}', $view->vars['date_pattern']);
514514
}
515515

516516
public function testPassDatePatternToViewDifferentFormat()
517517
{
518518
$form = $this->factory->create('date', null, array(
519-
'format' => \IntlDateFormatter::MEDIUM,
519+
'format' => \IntlDateFormatter::LONG,
520520
));
521521

522522
$view = $form->createView();
523523

524-
$this->assertSame('{{ day }}.{{ month }}.{{ year }}', $view->vars['date_pattern']);
524+
$this->assertSame('{{ day }}. {{ month }} {{ year }}', $view->vars['date_pattern']);
525525
}
526526

527527
public function testPassDatePatternToViewDifferentPattern()

0 commit comments

Comments
 (0)
0