From c72aa4605d73a98b1a7ac3d351ff39d024d17176 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Mon, 2 Feb 2015 09:46:25 +0100 Subject: [PATCH] form: fix handling of date in iso format in French-configured sites (#6390) --- tests/test_widgets.py | 9 +++++++-- wcs/qommon/form.py | 1 + 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/tests/test_widgets.py b/tests/test_widgets.py index 71a22e0..06bf537 100644 --- a/tests/test_widgets.py +++ b/tests/test_widgets.py @@ -242,16 +242,21 @@ def test_date_widget(): req.form = {} assert widget.parse() is None + pub.cfg['language'] = {'language': 'en'} widget = DateWidget('test') mock_form_submission(req, widget, {'test': '2014-1-20'}) assert not widget.has_error() - assert widget.parse() == '2014-1-20' + assert widget.parse() == '2014-01-20' pub.cfg['language'] = {'language': 'fr'} widget = DateWidget('test') mock_form_submission(req, widget, {'test': '20/1/2014'}) assert not widget.has_error() - assert widget.parse() == '20/1/2014' + assert widget.parse() == '20/01/2014' + + mock_form_submission(req, widget, {'test': '2014-1-20'}) + assert not widget.has_error() + assert widget.parse() == '20/01/2014' widget = DateWidget('test', minimum_date='1/1/2014') mock_form_submission(req, widget, {'test': '20/1/2014'}) diff --git a/wcs/qommon/form.py b/wcs/qommon/form.py index 0a98f57..d178cd0 100644 --- a/wcs/qommon/form.py +++ b/wcs/qommon/form.py @@ -803,6 +803,7 @@ class DateWidget(StringWidget): value = time.strptime(self.value, format_string) except ValueError: continue + self.value = strftime(self.get_format_string(), value) break else: self.error = _('invalid date') -- 2.1.4