commit-gnue
[Top][All Lists]
Advanced

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

gnue/common/src GDataObjects.py


From: James Thompson
Subject: gnue/common/src GDataObjects.py
Date: Fri, 15 Nov 2002 17:13:15 -0500

CVSROOT:        /cvsroot/gnue
Module name:    gnue
Changes by:     James Thompson <address@hidden> 02/11/15 17:13:14

Modified files:
        common/src     : GDataObjects.py 

Log message:
        master datasources no longer cause detail datasources to execute a query
        for detail key = to null when the master is cleared or at startup

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/src/GDataObjects.py.diff?tr1=1.57&tr2=1.58&r1=text&r2=text

Patches:
Index: gnue/common/src/GDataObjects.py
diff -c gnue/common/src/GDataObjects.py:1.57 
gnue/common/src/GDataObjects.py:1.58
*** gnue/common/src/GDataObjects.py:1.57        Wed Nov  6 14:13:15 2002
--- gnue/common/src/GDataObjects.py     Fri Nov 15 17:13:13 2002
***************
*** 264,276 ****
      if (not master.current._cachedDetailResultSets.has_key(self)) or \
          ( not int(gConfig('CacheDetailRecords')) and \
            not master.current._cachedDetailResultSets[self].isPending() ):
        for i in range(0, len(self._masterfields)):
          GDebug.printMesg(10,"Adding criteria")
          criteria[string.strip(self._detailfields[i])] = \
              master.current.getField(string.strip(self._masterfields[i]))
          GDebug.printMesg(10,master.current.getField(self._masterfields[i]))
!       master.current.addDetailResultSet(self.createResultSet(\
               conditions=criteria, masterRecordSet=master.current))
  ##      master.current._cachedDetailResultSets[self] = \
  ##          self.createResultSet(conditions=criteria, 
masterRecordSet=master.current)
      return master.current._cachedDetailResultSets[self]
--- 264,286 ----
      if (not master.current._cachedDetailResultSets.has_key(self)) or \
          ( not int(gConfig('CacheDetailRecords')) and \
            not master.current._cachedDetailResultSets[self].isPending() ):
+       doQuery = None
        for i in range(0, len(self._masterfields)):
          GDebug.printMesg(10,"Adding criteria")
          criteria[string.strip(self._detailfields[i])] = \
              master.current.getField(string.strip(self._masterfields[i]))
+         
+         #If all are set to None then this will prevent the details
+         #from being queried.  This happens are startup with blank master
+         #datasources.
+         doQuery = doQuery or 
master.current.getField(string.strip(self._masterfields[i]))
+         
          GDebug.printMesg(10,master.current.getField(self._masterfields[i]))
!       if doQuery:
!         master.current.addDetailResultSet(self.createResultSet(\
               conditions=criteria, masterRecordSet=master.current))
+       else:
+         master.current.addDetailResultSet(self.createEmptyResultSet())
  ##      master.current._cachedDetailResultSets[self] = \
  ##          self.createResultSet(conditions=criteria, 
masterRecordSet=master.current)
      return master.current._cachedDetailResultSets[self]




reply via email to

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