dabo Commit
Revision 6266
Date: 2010-12-18 14:11:33 -0800 (Sat, 18 Dec 2010)
Author: Jacekk
Trac: http://trac.dabodev.com/changeset/6266
Changed:
U trunk/dabo/db/dCursorMixin.py
Log:
Change in setFieldVal() method value type conversion, where it could be
performed incorrectly if previous filed value was 'None'.
Diff:
Modified: trunk/dabo/db/dCursorMixin.py
===================================================================
--- trunk/dabo/db/dCursorMixin.py 2010-12-18 21:31:01 UTC (rev 6265)
+++ trunk/dabo/db/dCursorMixin.py 2010-12-18 22:11:33 UTC (rev 6266)
@@ -969,20 +969,20 @@
except KeyError:
fldType = self._fldTypeFromDB(fld)
nonUpdateFields = self.getNonUpdateFields()
- if fldType is not None:
+ if fldType is not None and val is not None:
if fldType != type(val):
convTypes = (str, unicode, int, float, long,
complex)
- if isinstance(val, convTypes) and
isinstance(rec[fld], basestring):
+ if issubclass(fldType, basestring) and
isinstance(val, convTypes):
val = ustr(val)
- elif isinstance(rec[fld], int) and
isinstance(val, bool):
+ elif issubclass(fldType, int) and
isinstance(val, bool):
# convert bool to int (original field
val was bool, but UI
# changed to int.
val = int(val)
- elif isinstance(rec[fld], int) and
isinstance(val, long):
+ elif issubclass(fldType, int) and
isinstance(val, long):
# convert long to int (original field
val was int, but UI
# changed to long.
val = int(val)
- elif isinstance(rec[fld], long) and
isinstance(val, int):
+ elif issubclass(fldType, long) and
isinstance(val, int):
# convert int to long (original field
val was long, but UI
# changed to int.
val = long(val)
_______________________________________________
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]