8000 Fixed #13592 -- Make sure the SelectDateWidget works with dates befor… · ddriddle/django@e6ec07d · GitHub
[go: up one dir, main page]

Skip to content

Commit e6ec07d

Browse files
committed
Fixed django#13592 -- Make sure the SelectDateWidget works with dates before 1900 when localization is enabled. Thanks for the report and patch, magnus.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@13301 bcc190cf-cafb-0310-a4f2-bffc1f526a37
1 parent 6b2d6e1 commit e6ec07d

File tree

2 files changed

+7
-0
lines changed

2 files changed

+7
-0
lines changed

django/forms/extras/widgets.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import re
88

99
from django.forms.widgets import Widget, Select
10+
from django.utils import datetime_safe
1011
from django.utils.dates import MONTHS
1112
from django.utils.safestring import mark_safe
1213
from django.utils.formats import get_format
@@ -100,6 +101,7 @@ def value_from_datadict(self, data, files, name):
100101
except ValueError:
101102
pass
102103
else:
104+
date_value = datetime_safe.new_date(date_value)
103105
return date_value.strftime(input_format)
104106
else:
105107
return '%s-%s-%s' % (y, m, d)

tests/regressiontests/forms/extra.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -435,6 +435,11 @@
435435
<option value="2016">2016</option>
436436
</select>
437437
438+
Years before 1900 work
439+
>>> w = SelectDateWidget(years=('1899',))
440+
>>> w.value_from_datadict({'date_year': '1899', 'date_month': '8', 'date_day': '13'}, {}, 'date')
441+
'13-08-1899'
442+
438443
>>> translation.deactivate()
439444
440445
# MultiWidget and MultiValueField #############################################

0 commit comments

Comments
 (0)
0