dabo Commit
Revision 6943
Date: 2011-10-27 16:23:58 -0700 (Thu, 27 Oct 2011)
Author: Paul
Trac: http://trac.dabodev.com/changeset/6943
Changed:
U trunk/dabo/biz/dBizobj.py
U trunk/dabo/biz/test/test_dBizobj.py
Log:
Yesterday, I incorrectly altered the dBizobj unit tests: the SaveNewUnchanged
property should be evaluated for each bizobj, not just take the setting from
the parent. This commit fixes the behavior and the test.
Diff:
Modified: trunk/dabo/biz/dBizobj.py
===================================================================
--- trunk/dabo/biz/dBizobj.py 2011-10-27 23:08:10 UTC (rev 6942)
+++ trunk/dabo/biz/dBizobj.py 2011-10-27 23:23:58 UTC (rev 6943)
@@ -1503,9 +1503,10 @@
cursor = self._CurrentCursor
if cursor is None or cursor.RowCount == 0:
return False
- if includeNewUnchanged is None:
- includeNewUnchanged = self.SaveNewUnchanged
- if cursor.isChanged(allRows=allRows,
includeNewUnchanged=includeNewUnchanged):
+ withNewUnchanged = includeNewUnchanged
+ if withNewUnchanged is None:
+ withNewUnchanged = self.SaveNewUnchanged
+ if cursor.isChanged(allRows=allRows,
includeNewUnchanged=withNewUnchanged):
return True
if withChildren:
for child in self.getChildren():
@@ -1524,10 +1525,11 @@
Which will at least be much faster (and still correct) in the
case of
_isAnyChanged_fast() returning False, and not much slower
otherwise.
"""
- if includeNewUnchanged is None:
- includeNewUnchanged = self.SaveNewUnchanged
+ withNewUnchanged = includeNewUnchanged
+ if withNewUnchanged is None:
+ withNewUnchanged = self.SaveNewUnchanged
for cursor in self.__cursors.values():
- if cursor.isChanged(allRows=True,
includeNewUnchanged=includeNewUnchanged):
+ if cursor.isChanged(allRows=True,
includeNewUnchanged=withNewUnchanged):
return True
for child in self._children:
if
child._isAnyChanged_fast(includeNewUnchanged=includeNewUnchanged):
@@ -3088,9 +3090,7 @@
_("The current position of the record pointer in the
result set. (int)"))
SaveNewUnchanged = property(_getSaveNewUnchanged, _setSaveNewUnchanged,
None,
- _("""Normally new, unmodified records are not saved. If
you need
- this behavior, set this to True. (bool)
- """))
+ _("Specifies whether new unchanged records are saved.
(bool; default:False)"))
ScanRestorePosition = property(_getScanRestorePosition,
_setScanRestorePosition, None,
_("""After running a scan, do we attempt to restore the
record position to
Modified: trunk/dabo/biz/test/test_dBizobj.py
===================================================================
--- trunk/dabo/biz/test/test_dBizobj.py 2011-10-27 23:08:10 UTC (rev 6942)
+++ trunk/dabo/biz/test/test_dBizobj.py 2011-10-27 23:23:58 UTC (rev 6943)
@@ -293,14 +293,16 @@
bizMain.SaveNewUnchanged = False
bizChild.new()
self.assertEqual(bizChild.RowCount, 4)
- self.assertEqual(bizMain.isAnyChanged(), False) ## the new
child record isn't changed
+ self.assertEqual(bizMain.SaveNewUnchanged, False)
+ self.assertEqual(bizChild.SaveNewUnchanged, True)
+ self.assertEqual(bizMain.isAnyChanged(), True) ## the new
child record isn't changed
self.assertEqual(bizMain.getChangedRows(), [])
self.assertEqual(bizChild.isAnyChanged(), True) ##
bizChild.SaveNewUnchanged == True
self.assertEqual(bizChild.isAnyChanged(includeNewUnchanged=False), False)
bizMain.save()
self.assertEqual(bizChild.RowCount, 4)
temp = bizMain.getTempCursor(test_sql, (bizMain.Record.pk,))
- self.assertEqual(temp.Record.count, 3) ##
bizMain.SaveNewUnchanged == False so not saved.
+ self.assertEqual(temp.Record.count, 4) ##
bizChild.SaveNewUnchanged == True so should be saved.
self.assertEqual(bizMain.getChangedRows(), [])
_______________________________________________
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]