[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue-forms/src GFParser.py GFObjects/GFBlock.py...
From: |
Jason Cater |
Subject: |
gnue-forms/src GFParser.py GFObjects/GFBlock.py... |
Date: |
Tue, 19 Aug 2003 22:23:05 -0400 |
CVSROOT: /cvsroot/gnue
Module name: gnue-forms
Branch:
Changes by: Jason Cater <address@hidden> 03/08/19 22:23:04
Modified files:
src : GFParser.py
src/GFObjects : GFBlock.py GFField.py
Log message:
* Added support for <field ... defaultToLast="Y"> which causes a field
to default to the last value entered for new records
* Added field.clear() which resets a field to its default value (or
NULL/None), respecting the defaultToLast setting
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-forms/src/GFParser.py.diff?tr1=1.112&tr2=1.113&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-forms/src/GFObjects/GFBlock.py.diff?tr1=1.85&tr2=1.86&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-forms/src/GFObjects/GFField.py.diff?tr1=1.91&tr2=1.92&r1=text&r2=text
Patches:
Index: gnue-forms/src/GFObjects/GFBlock.py
diff -c gnue-forms/src/GFObjects/GFBlock.py:1.85
gnue-forms/src/GFObjects/GFBlock.py:1.86
*** gnue-forms/src/GFObjects/GFBlock.py:1.85 Tue Aug 19 08:10:15 2003
--- gnue-forms/src/GFObjects/GFBlock.py Tue Aug 19 22:23:04 2003
***************
*** 169,175 ****
def initialize(self):
self._form = form = self.findParentOfType('GFForm')
self._logic = logic = self.findParentOfType('GFLogic')
!
logic._blockList.append(self)
logic._blockMap[self.name] = self
--- 169,177 ----
def initialize(self):
self._form = form = self.findParentOfType('GFForm')
self._logic = logic = self.findParentOfType('GFLogic')
!
! self._lastValues = {}
!
logic._blockList.append(self)
logic._blockMap[self.name] = self
***************
*** 277,282 ****
--- 279,290 ----
self.processTrigger('POST-FOCUSOUT')
if self._resultSet.insertRecord():
+
+ # Set the defaultToLast fields
+ for field, value in self._lastValues.items():
+ if value is not None:
+ self._resultSet.current.setField(field, value, 0)
+
self._recordCount = self._resultSet.getRecordCount()
self.switchRecord(1)
Index: gnue-forms/src/GFObjects/GFField.py
diff -c gnue-forms/src/GFObjects/GFField.py:1.91
gnue-forms/src/GFObjects/GFField.py:1.92
*** gnue-forms/src/GFObjects/GFField.py:1.91 Wed Jun 11 17:04:20 2003
--- gnue-forms/src/GFObjects/GFField.py Tue Aug 19 22:23:04 2003
***************
*** 47,52 ****
--- 47,53 ----
self.typecast="text"
self.case="mixed"
self.style="default"
+ self.defaultToLast = 0
# Runtime variables
self._uppercase = 0
***************
*** 88,94 ****
'isEmpty':{'function':self.isEmpty},
'resetForeignKey':{'function':self.resetForeignKey},
'set':{'function':self.triggerSetValue},
! 'get':{'function':self.getValue}
}
self._triggerProperties={'readonly':{'set':self.setReadonly,
'get':self.getReadonly
--- 89,96 ----
'isEmpty':{'function':self.isEmpty},
'resetForeignKey':{'function':self.resetForeignKey},
'set':{'function':self.triggerSetValue},
! 'get':{'function':self.getValue},
! 'clear': {'function': self.resetToDefault}
}
self._triggerProperties={'readonly':{'set':self.setReadonly,
'get':self.getReadonly
***************
*** 236,241 ****
--- 238,255 ----
value = float(value)
self.setValue(value)
+ # Clear out the current value (setting to null, or default value)
+ def resetToDefault(self):
+ try:
+ default = self._block._lastValues[self.field]
+ except KeyError:
+ if hasattr(self, 'default') and self.default != None and
len(self.default):
+ default = self.default
+ else:
+ default = None
+ self.setValue(default)
+
+
def setValue(self, value):
# TODO: This is now being done in the display handler
#if self.style=='checkbox' and value =='':
***************
*** 254,271 ****
else:
self._block.processTrigger('Pre-Change')
self.processTrigger('Pre-Change')
! self._block._resultSet.current.setField(self.field,value)
self._block.processTrigger('Post-Change')
self.processTrigger('Post-Change')
! ### if self._block._resultSet.current.isPending():
### self.dispatchEvent('canCOMMIT')
### self.dispatchEvent('canROLLBACK')
# If the field value has changed do to a trigger
# then update the UI
self._block._form.updateUIEntry(self)
!
#
# allowedValues
--- 268,289 ----
else:
self._block.processTrigger('Pre-Change')
self.processTrigger('Pre-Change')
! self._block._resultSet.current[self.field] = value
!
! if self.defaultToLast:
! self._block._lastValues[self.field] = value
!
self._block.processTrigger('Post-Change')
self.processTrigger('Post-Change')
! ### if self._block._resultSet.current.isPending():
### self.dispatchEvent('canCOMMIT')
### self.dispatchEvent('canROLLBACK')
# If the field value has changed do to a trigger
# then update the UI
self._block._form.updateUIEntry(self)
!
#
# allowedValues
Index: gnue-forms/src/GFParser.py
diff -c gnue-forms/src/GFParser.py:1.112 gnue-forms/src/GFParser.py:1.113
*** gnue-forms/src/GFParser.py:1.112 Tue Aug 19 08:10:15 2003
--- gnue-forms/src/GFParser.py Tue Aug 19 22:23:04 2003
***************
*** 383,388 ****
--- 383,396 ----
'Description': 'The default value for any new records created.
'
'If the field is visible the user can override '
'the value.' },
+ 'defaultToLast': {
+ 'Typecast': GTypecast.boolean,
+ 'Label': _('Default to last entry?'),
+ 'Default': 0,
+ 'Description': 'If true, then new records will default to the '
+ 'last value the user entered for this field. If
'
+ 'no new values have been entered, then defaults
'
+ 'back to the normal {default} setting.' },
'queryDefault':{
'Typecast': GTypecast.text,
'Label': _('Default (Query)'),
- gnue-forms/src GFParser.py GFObjects/GFBlock.py...,
Jason Cater <=