commit-gnue
[Top][All Lists]
Advanced

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

r6729 - trunk/gnue-forms/src/GFObjects


From: johannes
Subject: r6729 - trunk/gnue-forms/src/GFObjects
Date: Fri, 26 Nov 2004 06:57:37 -0600 (CST)

Author: johannes
Date: 2004-11-26 06:57:36 -0600 (Fri, 26 Nov 2004)
New Revision: 6729

Modified:
   trunk/gnue-forms/src/GFObjects/GFField.py
Log:
add get- and setFKDescription () to GFField, so fk_description is accessible now


Modified: trunk/gnue-forms/src/GFObjects/GFField.py
===================================================================
--- trunk/gnue-forms/src/GFObjects/GFField.py   2004-11-25 21:15:19 UTC (rev 
6728)
+++ trunk/gnue-forms/src/GFObjects/GFField.py   2004-11-26 12:57:36 UTC (rev 
6729)
@@ -92,7 +92,11 @@
                             
'resetForeignKey':{'function':self.resetForeignKey},
                             'set':{'function':self.triggerSetValue},
                             'get':{'function':self.getValue},
-                            'clear': {'function': self.resetToDefault}
+                            'clear': {'function': self.resetToDefault},
+                            'getFKDescription': {
+                               'function': self.getFKDescription},
+                            'setFKDescription': {
+                               'function': self.setFKDescription},
                            }
     self._triggerProperties={
           'parent':       { 'get':self.getParent},
@@ -344,6 +348,47 @@
     if hasattr(self,'_GFField__fk_resultSet'):
       self.__fk_resultSet.findRecord({self.fk_key: value})
 
+
+  # ---------------------------------------------------------------------------
+  # If a field has a foreign key, return it's description
+  # ---------------------------------------------------------------------------
+
+  def getFKDescription (self):
+    """
+    This function returns the description of the foreign key or None if there's
+    no fk_source available.
+
+    @return: value of fk_description
+    """
+
+    if self._allowedValues is None:
+      return None
+
+    value = self.getValue ()
+    return self._allowedValues.get (value)
+
+
+  # ---------------------------------------------------------------------------
+  # Set the field value by it's foreign key description
+  # ---------------------------------------------------------------------------
+
+  def setFKDescription (self, fkValue):
+    """
+    This function set's the field's value by it's foreign key description.
+
+    @param fkValue: value of fk_description
+    """
+
+    if self._allowedValues is None or self.getFKDescription () == fkValue:
+      return None
+
+    # TODO: Shall we raise an exception if an invalid value is given ? Same
+    # applies to setValue () which does *not* raise one atm too
+    self.setValue (self._allowedValuesReverse.get (fkValue))
+
+
+
+
   #
   # allowedValues
   #





reply via email to

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