[Top][All Lists]
[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 ----
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gnue common/src/GDataObjects.py common/src/GDat...,
James Thompson <=