[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnue] r9159 - trunk/gnue-forms/src/GFObjects
From: |
reinhard |
Subject: |
[gnue] r9159 - trunk/gnue-forms/src/GFObjects |
Date: |
Tue, 12 Dec 2006 14:59:51 -0600 (CST) |
Author: reinhard
Date: 2006-12-12 14:59:50 -0600 (Tue, 12 Dec 2006)
New Revision: 9159
Modified:
trunk/gnue-forms/src/GFObjects/GFBlock.py
trunk/gnue-forms/src/GFObjects/GFField.py
Log:
New public function for GFField to do a reverse lookup.
Modified: trunk/gnue-forms/src/GFObjects/GFBlock.py
===================================================================
--- trunk/gnue-forms/src/GFObjects/GFBlock.py 2006-12-12 20:50:27 UTC (rev
9158)
+++ trunk/gnue-forms/src/GFObjects/GFBlock.py 2006-12-12 20:59:50 UTC (rev
9159)
@@ -635,9 +635,7 @@
cond = {}
for (fieldname, value) in params.iteritems():
field = self._fieldMap[fieldname]
- if hasattr(field, 'fk_source'):
- value = field._allowedValuesReverse.get(value)
- cond[field.field] = value
+ cond[field.field] = field.reverse_lookup(value)
# Then, mix in the conditions given in args.
for arg in args:
Modified: trunk/gnue-forms/src/GFObjects/GFField.py
===================================================================
--- trunk/gnue-forms/src/GFObjects/GFField.py 2006-12-12 20:50:27 UTC (rev
9158)
+++ trunk/gnue-forms/src/GFObjects/GFField.py 2006-12-12 20:59:50 UTC (rev
9159)
@@ -264,6 +264,29 @@
# -------------------------------------------------------------------------
+ # Get DB value for a given user value
+ # -------------------------------------------------------------------------
+
+ def reverse_lookup(self, value):
+ """
+ Return the DB value for a given user value.
+
+ @param value: A valid lookup value for this field.
+ @returns: The corresponding DB value.
+ """
+
+ if not self.__is_lookup:
+ return value
+
+ if value is None or value == u"":
+ return None
+ elif value in self._allowedValuesReverse:
+ return self._allowedValuesReverse[value]
+ else:
+ raise InvalidFieldValueError(self.name, value)
+
+
+ # -------------------------------------------------------------------------
# Reading and writing the user value of the field
# -------------------------------------------------------------------------
@@ -294,18 +317,9 @@
foreign key description.
"""
- if not self.__is_lookup:
- self.__set_value(value)
- return
+ self.__set_value(self.reverse_lookup(value))
- if value is None or value == u"":
- self.__set_value(None)
- elif value in self._allowedValuesReverse:
- self.__set_value(self._allowedValuesReverse[value])
- else:
- raise InvalidFieldValueError(self.name, value)
-
# -------------------------------------------------------------------------
# Reading and writing the DB value of a field
# -------------------------------------------------------------------------
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gnue] r9159 - trunk/gnue-forms/src/GFObjects,
reinhard <=