commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

gnue gnue-common/src/GDataObjects.py gnue-commo...


From: James Thompson
Subject: gnue gnue-common/src/GDataObjects.py gnue-commo...
Date: Tue, 18 Sep 2001 14:18:46 -0400

CVSROOT:        /cvs
Module name:    gnue
Changes by:     James Thompson <address@hidden> 01/09/18 14:18:46

Modified files:
        gnue-common/src: GDataObjects.py 
        gnue-common/src/dbdrivers/_dbsig: DBdriver.py 
        gnuef/src/GFObjects: GFBlock.py 

Log message:
        *************THIS BREAKS PYTHON 1.5.2 SUPPORT***********************
        Modified recordset setField to allow override of modification flag (for 
internal use)
        Work on _recordCount in recordsets

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-common/src/GDataObjects.py.diff?cvsroot=OldCVS&tr1=1.21&tr2=1.22&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-common/src/dbdrivers/_dbsig/DBdriver.py.diff?cvsroot=OldCVS&tr1=1.17&tr2=1.18&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnuef/src/GFObjects/GFBlock.py.diff?cvsroot=OldCVS&tr1=1.14&tr2=1.15&r1=text&r2=text

Patches:
Index: gnue/gnue-common/src/GDataObjects.py
diff -u gnue/gnue-common/src/GDataObjects.py:1.21 
gnue/gnue-common/src/GDataObjects.py:1.22
--- gnue/gnue-common/src/GDataObjects.py:1.21   Mon Sep 17 22:11:17 2001
+++ gnue/gnue-common/src/GDataObjects.py        Tue Sep 18 14:18:46 2001
@@ -291,6 +291,7 @@
 
   # Get a specific record (0=based)
   def getRecord(self, record):
+    print "GDataObjects.py record %s, cached %s " % (record, 
len(self._cachedRecords))
     while (record + 1 > len(self._cachedRecords)) and self._loadNextRecord(): 
       pass
 
@@ -372,15 +373,12 @@
       GDebug.printMesg(7,'Inserting a blank record')
       self._currentRecord = self._currentRecord+1
       self._cachedRecords.insert(self._currentRecord, 
self._createEmptyRecord())
+      self._recordCount += 1
       self.current = self._cachedRecords[self._currentRecord]
       if self._masterRecordSet != None and hasattr(self._dataObject, 
'_masterfields'):
         i = 0
         for field in self._dataObject._masterfields:
-          # We will not call setField because we don't wan't want 
auto-populated
-          # fields to report the record as pending a post.
-          print "Setting %s to %s" % (field, 
self._masterRecordSet.getField(field))
-          self.current._fields[self._dataObject._detailfields[i]] = \
-             self._masterRecordSet.getField(field)
+          
self.current.setField(self._dataObject._detailfields[i],self._masterRecordSet.getField(field),0)
           i = i + 1
 
       self.notifyDetailObjects()
@@ -518,23 +516,26 @@
 
 
   # Sets current value of "field"
-  def setField(self, field, value):
+  # If trackMod is set to 0 then the modification flag isn't raised
+  def setField(self, field, value, trackMod = 1):
     # If this field is bound to a datasource and the datasource is read only,
     # generate an error.
     if self._parent.isFieldBound(field) and self._parent.isReadOnly():
       # Provide better feedback??
       raise ReadOnlyError, "Attempted to modify read only field '%s'" % field
     else:
-      self._emptyFlag = 0
       fn = string.lower(field)
       self._fields[fn] = "%s" % value
-      if self._parent.isFieldBound(field):
-        self._updateFlag = 1
-        if self._modifiedFlags.has_key(fn):
-          flag = self._modifiedFlags[fn] + 1
-        else:
-          flag = 1
-        self._modifiedFlags[fn] = flag
+      print "I set %s to %s with a modtrack of %s" %(fn,value,trackMod)
+      if trackMod == 1:
+        self._emptyFlag = 0
+        if self._parent.isFieldBound(field):
+          self._updateFlag = 1
+          if self._modifiedFlags.has_key(fn):
+            flag = self._modifiedFlags[fn] + 1
+          else:
+            flag = 1
+          self._modifiedFlags[fn] = flag
 
 
   # Returns 1=Field has been modified
Index: gnue/gnue-common/src/dbdrivers/_dbsig/DBdriver.py
diff -u gnue/gnue-common/src/dbdrivers/_dbsig/DBdriver.py:1.17 
gnue/gnue-common/src/dbdrivers/_dbsig/DBdriver.py:1.18
--- gnue/gnue-common/src/dbdrivers/_dbsig/DBdriver.py:1.17      Wed Sep 12 
15:03:05 2001
+++ gnue/gnue-common/src/dbdrivers/_dbsig/DBdriver.py   Tue Sep 18 14:18:46 2001
@@ -138,6 +138,7 @@
            self,dataObject,cursor,defaultValues,masterRecordSet)
     self._recordSetClass = DBSIG_RecordSet
     self._fieldNames = None
+    self._recordCount = cursor.rowcount
 
     # If a DB driver supports a unique identifier for rows, 
     # list it here.  _primaryIdField is the field name (lower case)
@@ -241,7 +242,6 @@
     except self._DatabaseError, err: 
       raise GDataObjects.ConnectionError, err
     rs = self._resultSetClass(self, cursor=cursor, 
masterRecordSet=masterRecordSet)
-    rs._recordCount = cursor.rowcount
     if readOnly: 
       rs._readonly = readOnly
     return rs
Index: gnue/gnuef/src/GFObjects/GFBlock.py
diff -u gnue/gnuef/src/GFObjects/GFBlock.py:1.14 
gnue/gnuef/src/GFObjects/GFBlock.py:1.15
--- gnue/gnuef/src/GFObjects/GFBlock.py:1.14    Sun Sep 16 17:16:24 2001
+++ gnue/gnuef/src/GFObjects/GFBlock.py Tue Sep 18 14:18:46 2001
@@ -139,8 +139,8 @@
 
     if self._resultSet.firstRecord():
       self.switchRecord(0)
-      self._recordCount = self._resultSet.getCacheCount()
-      #self._recordCount = self._resultSet.getRecordCount()
+      #self._recordCount = self._resultSet.getCacheCount()
+      self._recordCount = self._resultSet.getRecordCount()
     else:
       # TODO: This means no results were returned from a query.
       # TODO: It probably shouldn't create a new record :)  Display a message?
@@ -166,15 +166,15 @@
   #
   def newRecord(self):
     if self._resultSet.insertRecord():
-      self._recordCount = self._resultSet.getCacheCount()
-      #self._recordCount = self._resultSet.getRecordCount()
+      #self._recordCount = self._resultSet.getCacheCount()
+      self._recordCount = self._resultSet.getRecordCount()
       self.switchRecord(1)
       self.processTrigger('on-newrecord')
     
   def nextRecord(self):
     if self._resultSet.nextRecord(): 
-      self._recordCount = self._resultSet.getCacheCount()
-      #self._recordCount = self._resultSet.getRecordCount()
+      #self._recordCount = self._resultSet.getCacheCount()
+      self._recordCount = self._resultSet.getRecordCount()
       self.switchRecord(1)
     elif int(GConfig.get('autocreate')) and not 
self._resultSet.current.isEmpty(): 
       self.newRecord()
@@ -283,8 +283,8 @@
         conditions = {}
 
       self._dataSourceLink.createResultSet(conditions)
-      self._recordCount = self._resultSet.getCacheCount()
-      #self._recordCount = self._resultSet.getRecordCount()
+      #self._recordCount = self._resultSet.getCacheCount()
+      self._recordCount = self._resultSet.getRecordCount()
 
       self.processTrigger('Post-Query')
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]