diff options
| author | Jannis Leidel <jannis@leidel.info> | 2010-05-23 10:38:23 +0000 |
|---|---|---|
| committer | Jannis Leidel <jannis@leidel.info> | 2010-05-23 10:38:23 +0000 |
| commit | e6ec07dc1f9070df4dab982aa4567def924bfe01 (patch) | |
| tree | 2b57bf063d5c9e6d5b0975058dfcff677997e1cc | |
| parent | 6b2d6e18338631367c5a61896d872dbe27d2097e (diff) | |
Fixed #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
| -rw-r--r-- | django/forms/extras/widgets.py | 2 | ||||
| -rw-r--r-- | tests/regressiontests/forms/extra.py | 5 |
2 files changed, 7 insertions, 0 deletions
diff --git a/django/forms/extras/widgets.py b/django/forms/extras/widgets.py index 4dabafae9e..7d05942f43 100644 --- a/django/forms/extras/widgets.py +++ b/django/forms/extras/widgets.py @@ -7,6 +7,7 @@ import datetime import re from django.forms.widgets import Widget, Select +from django.utils import datetime_safe from django.utils.dates import MONTHS from django.utils.safestring import mark_safe from django.utils.formats import get_format @@ -100,6 +101,7 @@ class SelectDateWidget(Widget): except ValueError: pass else: + date_value = datetime_safe.new_date(date_value) return date_value.strftime(input_format) else: return '%s-%s-%s' % (y, m, d) diff --git a/tests/regressiontests/forms/extra.py b/tests/regressiontests/forms/extra.py index 7547901d0f..57e8e91a60 100644 --- a/tests/regressiontests/forms/extra.py +++ b/tests/regressiontests/forms/extra.py @@ -435,6 +435,11 @@ USE_L10N tests <option value="2016">2016</option> </select> +Years before 1900 work +>>> w = SelectDateWidget(years=('1899',)) +>>> w.value_from_datadict({'date_year': '1899', 'date_month': '8', 'date_day': '13'}, {}, 'date') +'13-08-1899' + >>> translation.deactivate() # MultiWidget and MultiValueField ############################################# |
