commit-gnue
[Top][All Lists]
Advanced

[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)'),




reply via email to

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