mirror of
				https://github.com/django/django.git
				synced 2025-10-30 17:16:10 +00:00 
			
		
		
		
	[1.11.x] Fixed #28530 -- Prevented SelectDateWidget from localizing years in output.
Backport of 9e2bf65d6a from master
			
			
This commit is contained in:
		| @@ -943,7 +943,7 @@ class SelectDateWidget(Widget): | ||||
|     def get_context(self, name, value, attrs): | ||||
|         context = super(SelectDateWidget, self).get_context(name, value, attrs) | ||||
|         date_context = {} | ||||
|         year_choices = [(i, i) for i in self.years] | ||||
|         year_choices = [(i, force_text(i)) for i in self.years] | ||||
|         if self.is_required is False: | ||||
|             year_choices.insert(0, self.year_none_value) | ||||
|         year_attrs = context['widget']['attrs'].copy() | ||||
|   | ||||
| @@ -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`). | ||||
|   | ||||
| @@ -485,3 +485,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> | ||||
|             """ | ||||
|         )) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user