commit-gnue
[Top][All Lists]
Advanced

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

gnue common/src/GDataObjects.py common/src/GDat...


From: James Thompson
Subject: gnue common/src/GDataObjects.py common/src/GDat...
Date: Mon, 01 Jul 2002 19:09:14 -0400

CVSROOT:        /cvsroot/gnue
Module name:    gnue
Changes by:     James Thompson <address@hidden> 02/07/01 19:09:14

Modified files:
        common/src     : GDataObjects.py GDataSource.py 
        forms/src      : GFInstance.py 
        navigator/src  : UIwxpython.py 

Log message:
        Added delete() to trigger namespace to delete the current record being 
commited
        usefull in pre-commit triggers
        removed unneeded import from navigator

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/src/GDataObjects.py.diff?tr1=1.52&tr2=1.53&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/src/GDataSource.py.diff?tr1=1.34&tr2=1.35&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/GFInstance.py.diff?tr1=1.54&tr2=1.55&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/navigator/src/UIwxpython.py.diff?tr1=1.18&tr2=1.19&r1=text&r2=text

Patches:
Index: gnue/common/src/GDataObjects.py
diff -c gnue/common/src/GDataObjects.py:1.52 
gnue/common/src/GDataObjects.py:1.53
*** gnue/common/src/GDataObjects.py:1.52        Wed May  8 21:47:17 2002
--- gnue/common/src/GDataObjects.py     Mon Jul  1 19:09:14 2002
***************
*** 33,38 ****
--- 33,40 ----
  import GConditions
  import string
  
+ postingRecordset = None
+ 
  class Error(StandardError):
    # Base exception
    pass
***************
*** 104,110 ****
      self._defaultValues = {}
      self.triggerExtensions = None
  
- 
    # Do we have a master datasource?
    def hasMaster(self):
      return self._masterObject != None
--- 106,111 ----
***************
*** 275,280 ****
--- 276,282 ----
       self._masterRecordSet = masterRecordSet
       self._readonly = 0
       self._recordCount = 0
+      self._postingRecord = None
  
       self._defaultValues = {}
       self._defaultValues.update(defaultValues)
***************
*** 427,456 ****
      return self.current.isPending()
  
  
  
    # Post changes to the database
    def post(self, foreign_keys={}):
      # post our changes
      self._update_cursor = self._dataObject._dataConnection.cursor()
  
      recordPosition = 0
      while recordPosition < len(self._cachedRecords):
!       record = self._cachedRecords[recordPosition]
! 
!       delete = record._emptyFlag or record._deleteFlag
        if not delete:
          # Flip the flag for 'default' values to true so that hidden
          # default fields are included in insert statements
!         if record.isPending():
            for field in self._dataObject._defaultValues.keys():
!             record._modifiedFlags[field] = 1
  
          for field in foreign_keys.keys():
!           record._fields[field] = foreign_keys[field]
            # Some DBs will throw an exception if you update a Primary Key
            # (even if you are updating to the same value)
!           if record._insertFlag:
!             record._modifiedFlags[field] = 1
  
          recordPosition += 1
        else:
--- 429,463 ----
      return self.current.isPending()
  
  
+   def getPostingRecordset(self):
+     global postingRecordset
+     print postingRecordset
+     return postingRecordset
  
    # Post changes to the database
    def post(self, foreign_keys={}):
+     global postingRecordset
      # post our changes
      self._update_cursor = self._dataObject._dataConnection.cursor()
  
      recordPosition = 0
      while recordPosition < len(self._cachedRecords):
!       self._postingRecord = self._cachedRecords[recordPosition]
!       postingRecordset = self._postingRecord
!       delete = self._postingRecord._emptyFlag or 
self._postingRecord._deleteFlag
        if not delete:
          # Flip the flag for 'default' values to true so that hidden
          # default fields are included in insert statements
!         if self._postingRecord.isPending():
            for field in self._dataObject._defaultValues.keys():
!             self._postingRecord._modifiedFlags[field] = 1
  
          for field in foreign_keys.keys():
!           self._postingRecord._fields[field] = foreign_keys[field]
            # Some DBs will throw an exception if you update a Primary Key
            # (even if you are updating to the same value)
!           if self._postingRecord._insertFlag:
!             self._postingRecord._modifiedFlags[field] = 1
  
          recordPosition += 1
        else:
***************
*** 461,467 ****
          self._cachedRecords.pop(recordPosition)
          self._recordCount -= 1
  
!       record.post()
  
      # Move to record 0 if all preceding records were deleted
      # (or set to -1 if all records were deleted)
--- 468,474 ----
          self._cachedRecords.pop(recordPosition)
          self._recordCount -= 1
  
!       self._postingRecord.post()
  
      # Move to record 0 if all preceding records were deleted
      # (or set to -1 if all records were deleted)
Index: gnue/common/src/GDataSource.py
diff -c gnue/common/src/GDataSource.py:1.34 gnue/common/src/GDataSource.py:1.35
*** gnue/common/src/GDataSource.py:1.34 Thu May 16 00:37:47 2002
--- gnue/common/src/GDataSource.py      Mon Jul  1 19:09:14 2002
***************
*** 74,79 ****
--- 74,83 ----
                                                   },
                                
'simpleQuery':{'function':self.triggerSimpleQuery,
                                               },
+                               
'delete':{'function':self.deleteCurrentRecordsetEntry,
+                                         'global':1,
+                                         },
+ 
                                }
  
    def __getattr__(self, attr):
***************
*** 105,110 ****
--- 109,116 ----
        returnList.append(resultDict)
      return returnList
  
+   def deleteCurrentRecordsetEntry(self):
+     self._currentResultSet.getPostingRecordset().delete()
  
    #
    # This method should be called after the object is created
***************
*** 271,276 ****
--- 277,283 ----
  
    def _onNewRecordQueried(self, record):
      return 1
+ 
  
  
  ######
Index: gnue/forms/src/GFInstance.py
diff -c gnue/forms/src/GFInstance.py:1.54 gnue/forms/src/GFInstance.py:1.55
*** gnue/forms/src/GFInstance.py:1.54   Mon Jul  1 10:08:48 2002
--- gnue/forms/src/GFInstance.py        Mon Jul  1 19:09:14 2002
***************
*** 567,589 ****
  
  
    def preCommit(self, event):
!     self._handlePreCommit(event, 'pre-commit')
  
  
    def preInsert(self, event):
!     self._handlePreCommit(event, 'pre-insert')
  
  
    def preUpdate(self, event):
!     self._handlePreCommit(event, 'pre-update')
  
  
    def preDelete(self, event):
!     self._handlePreCommit(event, 'pre-delete')
  
  
    def onRecordTouched(self, event):
!     self._handlePreCommit(event, 'pre-modify')
  
  
  
--- 567,589 ----
  
  
    def preCommit(self, event):
!     self._handlePreCommit(event, 'PRE-COMMIT')
  
  
    def preInsert(self, event):
!     self._handlePreCommit(event, 'PRE-INSERT')
  
  
    def preUpdate(self, event):
!     self._handlePreCommit(event, 'PRE-UPDATE')
  
  
    def preDelete(self, event):
!     self._handlePreCommit(event, 'PRE-DELETE')
  
  
    def onRecordTouched(self, event):
!     self._handlePreCommit(event, 'PRE-MODIFY')
  
  
  
Index: gnue/navigator/src/UIwxpython.py
diff -c gnue/navigator/src/UIwxpython.py:1.18 
gnue/navigator/src/UIwxpython.py:1.19
*** gnue/navigator/src/UIwxpython.py:1.18       Mon Jun 10 19:42:38 2002
--- gnue/navigator/src/UIwxpython.py    Mon Jul  1 19:09:14 2002
***************
*** 34,40 ****
  from time import sleep
  import os, sys, string
  from gnue.common import GDataObjects, GConnections, dyn_import, openResource
- from threading import Thread
  from gnue.common import GConfig
  
  try:
--- 34,39 ----



reply via email to

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