dabo Commit
Revision 5605
Date: 2010-01-27 12:04:53 -0800 (Wed, 27 Jan 2010)
Author: Paul
Trac: http://trac.dabodev.com/changeset/5605

Changed:
U   trunk/dabo/biz/dBizobj.py

Log:
Attempted fix to filtering virtual fields. Jacek, please test.


Diff:
Modified: trunk/dabo/biz/dBizobj.py
===================================================================
--- trunk/dabo/biz/dBizobj.py   2010-01-26 23:31:46 UTC (rev 5604)
+++ trunk/dabo/biz/dBizobj.py   2010-01-27 20:04:53 UTC (rev 5605)
@@ -1087,8 +1087,6 @@
 
        def scanVirtualFields(self, fld, expr, op):
                virtValue = self.getFieldVal(fld)
-               virtLower = virtValue.lower()
-               exprLower = expr.lower()
 
                if op.lower() in ("eq", "equals", "="):
                        if virtValue == expr:
@@ -1114,19 +1112,24 @@
                        if expr <= virtValue:
                                
self.__filterPKVirtual.append(self.getFieldVal(self.KeyField))
 
-               elif op.lower() in ("starts with", "begins with"):
-                       if virtLower.startswith(exprLower):
-                               
self.__filterPKVirtual.append(self.getFieldVal(self.KeyField))
+               else:
+                       if isinstance(virtValue, basestring) and 
isinstance(expr, basestring):
+                               virtLower = virtValue.lower()
+                               exprLower = expr.lower()
 
-               elif op.lower() == "endswith":
-                       if virtLower.endswith(exprLower):
-                               
self.__filterPKVirtual.append(self.getFieldVal(self.KeyField))
+                       if op.lower() in ("starts with", "begins with"):
+                               if virtLower.startswith(exprLower):
+                                       
self.__filterPKVirtual.append(self.getFieldVal(self.KeyField))
 
-               elif op.lower() == "contains":
-                       if exprLower in virtLower:
-                               
self.__filterPKVirtual.append(self.getFieldVal(self.KeyField))
+                       elif op.lower() == "endswith":
+                               if virtLower.endswith(exprLower):
+                                       
self.__filterPKVirtual.append(self.getFieldVal(self.KeyField))
 
+                       elif op.lower() == "contains":
+                               if exprLower in virtLower:
+                                       
self.__filterPKVirtual.append(self.getFieldVal(self.KeyField))
 
+
        def removeFilter(self):
                """Remove the most recently applied filter."""
                self._CurrentCursor.removeFilter()



_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-dev
Searchable Archives: http://leafe.com/archives/search/dabo-dev
This message: 
http://leafe.com/archives/byMID/[email protected]

Reply via email to