[Checkins]
SVN: zc.datetimewidget/trunk/src/zc/datetimewidget/datetimewidget.py
Fix broken _toFromValue methods. This needs tests.
Gary Poster
gary at zope.com
Sun Apr 30 22:24:00 EDT 2006
Log message for revision 67776:
Fix broken _toFromValue methods. This needs tests.
Also note that the functional tests were already failing before this change. Contacting the author of the revisions now.
Changed:
U zc.datetimewidget/trunk/src/zc/datetimewidget/datetimewidget.py
-=-
Modified: zc.datetimewidget/trunk/src/zc/datetimewidget/datetimewidget.py
===================================================================
--- zc.datetimewidget/trunk/src/zc/datetimewidget/datetimewidget.py 2006-05-01 00:10:54 UTC (rev 67775)
+++ zc.datetimewidget/trunk/src/zc/datetimewidget/datetimewidget.py 2006-05-01 02:23:59 UTC (rev 67776)
@@ -80,7 +80,7 @@
lang = self.request.locale.id.language
lang = lang in LANGS and lang or 'en'
if lang != 'en':
- # en is always loadad via the resourcelibrary, so that all
+ # en is always loaded via the resourcelibrary, so that all
# variables are defined in js
# TODO: do not hardcode this
langFile = '/@@/zc.datetimewidget/lang/calendar-%s.js' % lang
@@ -94,6 +94,7 @@
"datetime_format": self._format,
"langDef":langDef}
+
class DatetimeWidget(DatetimeBase, textwidgets.DatetimeWidget):
"""Datetime entry widget."""
@@ -101,16 +102,13 @@
_showsTime = "true"
def _toFormValue(self, value):
- dt = localizeDateTime(
- super(DatetimeWidget, self)._toFormValue(value),
- self.request)
- return dt.strftime(self._format)
+ if not isinstance(value, datetime.date):
+ return super(DatetimeWidget, self)._toFormValue(value)
+ value = localizeDateTime(value, self.request)
+ return value.strftime(self._format)
-
-
def _toFieldValue(self, input):
res = super(DatetimeWidget, self)._toFieldValue(input)
- #import pdb;pdb.set_trace()
if res is not self.context.missing_value:
res = normalizeDateTime(res, self.request)
return res
@@ -120,13 +118,15 @@
displayWidth = 10
- def _toFormValue(self, value):
- return localizeDateTime(
- super(DateWidget, self)._toFormValue(value), self.request)
-
_format = '%Y-%m-%d'
_showsTime = "false"
+ def _toFormValue(self, value):
+ if not isinstance(value, datetime.date):
+ return super(DateWidget, self)._toFormValue(value)
+ value = localizeDateTime(value, self.request)
+ return value.strftime(self._format)
+
class DatetimeDisplayBase(object):
def __call__(self):
More information about the Checkins
mailing list