/[papo]/gnue/common/src/GDataObjects.py
ViewVC logotype

Diff of /gnue/common/src/GDataObjects.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.6.2.1 by apronotti, Fri May 9 22:23:09 2003 UTC revision 1.6.2.2 by apronotti, Wed May 21 18:03:04 2003 UTC
# Line 107  class DataObject: Line 107  class DataObject:
107    
108      self._defaultValues = {}      self._defaultValues = {}
109      self.triggerExtensions = None      self.triggerExtensions = None
110        self._emptyResultSet = None
111    
112    
113    # Do we have a master datasource?    # Do we have a master datasource?
# Line 129  class DataObject: Line 130  class DataObject:
130    
131    # Designed to be replaced by vendor-specific code    # Designed to be replaced by vendor-specific code
132    def _createEmptyResultSet(self, readOnly=0, masterRecordSet=None):    def _createEmptyResultSet(self, readOnly=0, masterRecordSet=None):
133      cond = GConditions.GCondition()      if not self._emptyResultSet:
134      ceq = GConditions.GCeq(cond)        cond = GConditions.GCondition()
135      GConditions.GCConst(ceq,1,"number")        ceq = GConditions.GCeq(cond)
136      GConditions.GCConst(ceq,0,"number")        GConditions.GCConst(ceq,1,"number")
137      return self.createResultSet(conditions=cond, readOnly=readOnly,        GConditions.GCConst(ceq,0,"number")
138                                  masterRecordSet=masterRecordSet)        self._emptyResultSet = self.createResultSet(conditions=cond, readOnly=readOnly,
139                                        masterRecordSet=masterRecordSet)
140        self._emptyResultSet._cachedRecords = []
141        self._emptyResultSet._currentRecord = -1
142        self._emptyResultSet._defaultValues = {}
143        self._emptyResultSet._recordCount = 0
144        self._emptyResultSet.current = None
145        return self._emptyResultSet
146          
147    
148    # Add a detail data object.  This dataobject will create a new resultset    # Add a detail data object.  This dataobject will create a new resultset
149    # everytime this dataobject changes (new record, etc).  The optional    # everytime this dataobject changes (new record, etc).  The optional
# Line 251  class DataObject: Line 259  class DataObject:
259      if (not master.current._cachedDetailResultSets.has_key(self)) or \      if (not master.current._cachedDetailResultSets.has_key(self)) or \
260          ( not int(gConfig('CacheDetailRecords')) and \          ( not int(gConfig('CacheDetailRecords')) and \
261            not master.current._cachedDetailResultSets[self].isPending() ):            not master.current._cachedDetailResultSets[self].isPending() ):
262          hasNullPk = 0
263        for i in range(0, len(self._masterfields)):        for i in range(0, len(self._masterfields)):
264          GDebug.printMesg(10,"Adding criteria")          GDebug.printMesg(10,"Adding criteria")
265          criteria[string.strip(self._detailfields[i])] = \          value = master.current.getField(string.strip(self._masterfields[i]))
266              master.current.getField(string.strip(self._masterfields[i]))          if not value:
267              hasNullPk = 1
268              break
269            criteria[string.strip(self._detailfields[i])] = value
270          GDebug.printMesg(10,master.current.getField(self._masterfields[i]))          GDebug.printMesg(10,master.current.getField(self._masterfields[i]))
271        master.current.addDetailResultSet(self.createResultSet(\        if hasNullPk:
272            master.current.addDetailResultSet(self.createEmptyResultSet(readOnly=0, masterRecordSet=master.current))
273          else:
274            master.current.addDetailResultSet(self.createResultSet(\
275               conditions=criteria, masterRecordSet=master.current))               conditions=criteria, masterRecordSet=master.current))
276    
277    ##  
278  ##      master.current._cachedDetailResultSets[self] = \  ##      master.current._cachedDetailResultSets[self] = \
279  ##          self.createResultSet(conditions=criteria, masterRecordSet=master.current)  ##          self.createResultSet(conditions=criteria, masterRecordSet=master.current)
280      return master.current._cachedDetailResultSets[self]      return master.current._cachedDetailResultSets[self]

Legend:
Removed from v.1.6.2.1  
changed lines
  Added in v.1.6.2.2

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26