diff options
| author | caleb logan <clogan202@gmail.com> | 2017-08-29 11:56:08 -0700 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2017-08-29 14:56:08 -0400 |
| commit | 9e2bf65d6a5dc3b53db84f4839652f0d154349ee (patch) | |
| tree | 75af8d47c4b3455f9c98ccf73dcf85d889cd90d6 | |
| parent | 44ce308281cc38353b635af842984c45fd2a00e4 (diff) | |
Fixed #28530 -- Prevented SelectDateWidget from localizing years in output.
| -rw-r--r-- | django/forms/widgets.py | 2 | ||||
| -rw-r--r-- | docs/releases/1.11.5.txt | 3 | ||||
| -rw-r--r-- | tests/forms_tests/widget_tests/test_selectdatewidget.py | 61 |
3 files changed, 65 insertions, 1 deletions
diff --git a/django/forms/widgets.py b/django/forms/widgets.py index f306abdec6..35904d3372 100644 --- a/django/forms/widgets.py +++ b/django/forms/widgets.py @@ -958,7 +958,7 @@ class SelectDateWidget(Widget): def get_context(self, name, value, attrs): context = super().get_context(name, value, attrs) date_context = {} - year_choices = [(i, i) for i in self.years] + year_choices = [(i, str(i)) for i in self.years] if not self.is_required: year_choices.insert(0, self.year_none_value) year_attrs = context['widget']['attrs'].copy() diff --git a/docs/releases/1.11.5.txt b/docs/releases/1.11.5.txt index 5716ad63c1..92fa8820a0 100644 --- a/docs/releases/1.11.5.txt +++ b/docs/releases/1.11.5.txt @@ -29,3 +29,6 @@ Bugfixes * Omitted ``pages_per_range`` from ``BrinIndex.deconstruct()`` if it's ``None`` (:ticket:`25809`). + +* Fixed a regression where ``SelectDateWidget`` localized the years in the + select box (:ticket:`28530`). diff --git a/tests/forms_tests/widget_tests/test_selectdatewidget.py b/tests/forms_tests/widget_tests/test_selectdatewidget.py index 9cc646a67a..83e76069b6 100644 --- a/tests/forms_tests/widget_tests/test_selectdatewidget.py +++ b/tests/forms_tests/widget_tests/test_selectdatewidget.py @@ -504,3 +504,64 @@ class SelectDateWidgetTest(WidgetTest): self.assertIs(self.widget.value_omitted_from_data({'field_day': '1'}, {}, 'field'), False) data = {'field_day': '1', 'field_month': '12', 'field_year': '2000'} self.assertIs(self.widget.value_omitted_from_data(data, {}, 'field'), False) + + @override_settings(USE_THOUSAND_SEPARATOR=True, USE_L10N=True) + def test_years_rendered_without_separator(self): + widget = SelectDateWidget(years=(2007,)) + self.check_html(widget, 'mydate', '', html=( + """ + <select name="mydate_month" id="id_mydate_month"> + <option value="0">---</option> + <option value="1">January</option> + <option value="2">February</option> + <option value="3">March</option> + <option value="4">April</option> + <option value="5">May</option> + <option value="6">June</option> + <option value="7">July</option> + <option value="8">August</option> + <option value="9">September</option> + <option value="10">October</option> + <option value="11">November</option> + <option value="12">December</option> + </select> + <select name="mydate_day" id="id_mydate_day"> + <option value="0">---</option> + <option value="1">1</option> + <option value="2">2</option> + <option value="3">3</option> + <option value="4">4</option> + <option value="5">5</option> + <option value="6">6</option> + <option value="7">7</option> + <option value="8">8</option> + <option value="9">9</option> + <option value="10">10</option> + <option value="11">11</option> + <option value="12">12</option> + <option value="13">13</option> + <option value="14">14</option> + <option value="15">15</option> + <option value="16">16</option> + <option value="17">17</option> + <option value="18">18</option> + <option value="19">19</option> + <option value="20">20</option> + <option value="21">21</option> + <option value="22">22</option> + <option value="23">23</option> + <option value="24">24</option> + <option value="25">25</option> + <option value="26">26</option> + <option value="27">27</option> + <option value="28">28</option> + <option value="29">29</option> + <option value="30">30</option> + <option value="31">31</option> + </select> + <select name="mydate_year" id="id_mydate_year"> + <option value="0">---</option> + <option value="2007">2007</option> + </select> + """ + )) |
