[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnue] r9733 - trunk/gnue-forms/src/GFObjects
From: |
reinhard |
Subject: |
[gnue] r9733 - trunk/gnue-forms/src/GFObjects |
Date: |
Fri, 22 Jun 2007 08:24:14 -0500 (CDT) |
Author: reinhard
Date: 2007-06-22 08:24:14 -0500 (Fri, 22 Jun 2007)
New Revision: 9733
Modified:
trunk/gnue-forms/src/GFObjects/GFField.py
Log:
Convert default values and query default values of fields to correct datatype.
Modified: trunk/gnue-forms/src/GFObjects/GFField.py
===================================================================
--- trunk/gnue-forms/src/GFObjects/GFField.py 2007-06-21 12:58:43 UTC (rev
9732)
+++ trunk/gnue-forms/src/GFObjects/GFField.py 2007-06-22 13:24:14 UTC (rev
9733)
@@ -33,7 +33,7 @@
__all__ = ['GFField', 'FKeyMissingError', 'LengthNotAllowedError',
'DataSourceNotFoundError', 'InvalidDBValueError',
- 'InvalidFieldValueError']
+ 'InvalidFieldValueError', 'InvalidDefaultValueError']
# =============================================================================
@@ -174,7 +174,11 @@
elif self.case == 'lower':
self._lowercase = True
- default = self.__get_default ()
+ try:
+ default = datatypes.convert(self.__get_default(), self.datatype,
+ self.length, self.scale)
+ except ValueError, datatypes.ConversionError:
+ raise InvalidDefaultValueError(self, self.__get_default())
if not hasattr(self, 'field') or not len(self.field):
self.field = "__GNUe__%s" % self.name
@@ -226,8 +230,13 @@
raise MinimumLengthNotAllowedError(self)
if hasattr(self, 'queryDefault') and self.queryDefault != None and \
- self._bound and len(self.queryDefault):
- block._queryDefaults[self] = self.queryDefault
+ self._bound and len(self.queryDefault):
+ try:
+ self._block._queryDefaults[self] = datatypes.convert(
+ self.queryDefault, self.datatype, self.length,
+ self.scale)
+ except ValueError, datatypes.ConversionError:
+ raise InvalidDefaultValueError(self, self.queryDefault)
# -------------------------------------------------------------------------
@@ -816,3 +825,17 @@
) % {
'value': value,
'field': field})
+
+# =============================================================================
+
+class InvalidDefaultValueError(GParser.MarkupError):
+ """
+ The field definition contains an invalid default value or default query
+ value for a field.
+ """
+ def __init__(self, field, value):
+ GParser.MarkupError.__init__(self, u_(
+ "Invalid default value '%(value)s' for field '%(name)s'"
+ ) % {
+ 'value': value,
+ 'name': field.name}, field._url, field._lineNumber)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gnue] r9733 - trunk/gnue-forms/src/GFObjects,
reinhard <=