[Checkins] SVN: zc.datetimewidget/branches/gintas-dateranges/src/zc/datetimewidget/ Bugfix: the Date field in Zope 3 now (since rev 71128) explicitly requires

Marius Gedminas marius at pov.lt
Thu Nov 16 14:49:07 EST 2006


Log message for revision 71146:
  Bugfix: the Date field in Zope 3 now (since rev 71128) explicitly requires
  datetime.date() values and will no longer accept datetime.datetimes().
  
  (Also updated the functional test to actually use the Date and Datetime widgets
  for the start/end date fields.)
  
  

Changed:
  U   zc.datetimewidget/branches/gintas-dateranges/src/zc/datetimewidget/datetimewidget.py
  U   zc.datetimewidget/branches/gintas-dateranges/src/zc/datetimewidget/demo/README.txt
  U   zc.datetimewidget/branches/gintas-dateranges/src/zc/datetimewidget/ftesting.zcml

-=-
Modified: zc.datetimewidget/branches/gintas-dateranges/src/zc/datetimewidget/datetimewidget.py
===================================================================
--- zc.datetimewidget/branches/gintas-dateranges/src/zc/datetimewidget/datetimewidget.py	2006-11-16 19:37:42 UTC (rev 71145)
+++ zc.datetimewidget/branches/gintas-dateranges/src/zc/datetimewidget/datetimewidget.py	2006-11-16 19:49:06 UTC (rev 71146)
@@ -307,9 +307,14 @@
             return self.context.missing_value
         else:
             try:
-                return parseDatetimetz(input)
+                dt = parseDatetimetz(input)
             except (DateTimeError, ValueError, IndexError), v:
                 return super(DatetimeBase, self)._toFieldValue(input)
+            else:
+                if self._showsTime:
+                    return dt
+                else:
+                    return dt.date()
 
     def _toFormValue(self, value):
         if value == self.context.missing_value:

Modified: zc.datetimewidget/branches/gintas-dateranges/src/zc/datetimewidget/demo/README.txt
===================================================================
--- zc.datetimewidget/branches/gintas-dateranges/src/zc/datetimewidget/demo/README.txt	2006-11-16 19:37:42 UTC (rev 71145)
+++ zc.datetimewidget/branches/gintas-dateranges/src/zc/datetimewidget/demo/README.txt	2006-11-16 19:49:06 UTC (rev 71146)
@@ -25,4 +25,11 @@
     >>> browser.url
     'http://localhost/mydemo/@@edit.html'
 
+We can fill in the values
 
+    >>> browser.getControl('Start Date').value = '2006-11-15'
+    >>> browser.getControl('End Date').value = '2006-11-16'
+    >>> browser.getControl('Start Datetime').value = '2006-11-15T07:49:31Z'
+    >>> browser.getControl('End Datetime').value = '2006-11-16T19:46:00Z'
+    >>> browser.getControl('Change').click()
+

Modified: zc.datetimewidget/branches/gintas-dateranges/src/zc/datetimewidget/ftesting.zcml
===================================================================
--- zc.datetimewidget/branches/gintas-dateranges/src/zc/datetimewidget/ftesting.zcml	2006-11-16 19:37:42 UTC (rev 71145)
+++ zc.datetimewidget/branches/gintas-dateranges/src/zc/datetimewidget/ftesting.zcml	2006-11-16 19:49:06 UTC (rev 71146)
@@ -16,6 +16,23 @@
   <include package="zope.app.i18n.tests" />
   -->
 
+  <view
+      type="zope.publisher.interfaces.browser.IBrowserRequest"
+      for="zope.schema.interfaces.IDatetime"
+      provides="zope.app.form.interfaces.IInputWidget"
+      factory="zc.datetimewidget.datetimewidget.DatetimeWidget"
+      permission="zope.Public"
+      />
+
+  <view
+      type="zope.publisher.interfaces.browser.IBrowserRequest"
+      for="zope.schema.interfaces.IDate"
+      provides="zope.app.form.interfaces.IInputWidget"
+      factory="zc.datetimewidget.datetimewidget.DateWidget"
+      permission="zope.Public"
+      />
+
+
   <role id="zope.Anonymous" title="Everybody"
                  description="All users have this role implicitly" />
   <role id="zope.Manager" title="Site Manager" />
@@ -33,4 +50,4 @@
     principal="zope.manager"
     />
 
-</configure>
\ No newline at end of file
+</configure>



More information about the Checkins mailing list