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]

Reply via email to