diff roundup/cgi/client.py @ 1409:8dc60d87ab42

Fixed a backlog of bug reports, and worked on python 2.3 compatibility: - fixed templating filter function arguments [SF#678911] - fixed multiselect in searching [SF#676874] - fixed parsing of content-disposition filenames [SF#675116] - added 'h' to roundup-server optarg list [SF#674070] - fixed doc for db.history in anydbm and rdbms_common [SF#679221] - fixed timelog example so it handles new issues [SF#678908] - handle missing os.fork() [SF#681046] - fixed roundup-reminder [SF#681042] - fixed int assumptions about Number values [SF#677762] - added warning filter for "FutureWarning: hex/oct constants > sys.maxint will return positive values..." (literal 0xffff0000 in portalocker.py) - fixed ZPT code generating SyntaxWarning for assignment to None
author Richard Jones <richard@users.sourceforge.net>
date Thu, 06 Feb 2003 05:43:49 +0000
parents f7c24fd93dfe
children b4630d078c08
line wrap: on
line diff
--- a/roundup/cgi/client.py	Mon Feb 03 11:14:16 2003 +0000
+++ b/roundup/cgi/client.py	Thu Feb 06 05:43:49 2003 +0000
@@ -1,4 +1,4 @@
-# $Id: client.py,v 1.75 2003-02-03 00:01:44 richard Exp $
+# $Id: client.py,v 1.76 2003-02-06 05:43:47 richard Exp $
 
 __doc__ = """
 WWW request handler (also used in the stand-alone server).
@@ -945,7 +945,15 @@
         props = self.db.classes[self.classname].getprops()
         for key in self.form.keys():
             if not props.has_key(key): continue
-            if not self.form[key].value: continue
+            if isinstance(self.form[key], type([])):
+                # search for at least one entry which is not empty
+                for minifield in self.form[key]:
+                    if minifield.value:
+                        break
+                else:
+                    continue
+            else:
+                if not self.form[key].value: continue
             self.form.value.append(cgi.MiniFieldStorage(':filter', key))
 
         # handle saving the query params
@@ -1369,7 +1377,7 @@
             elif isinstance(proptype, hyperdb.Boolean):
                 value = value.lower() in ('yes', 'true', 'on', '1')
             elif isinstance(proptype, hyperdb.Number):
-                value = int(value)
+                value = float(value)
         else:
             # if we're creating, just don't include this property
             if not nodeid:

Roundup Issue Tracker: http://roundup-tracker.org/