commit-gnue
[Top][All Lists]
Advanced

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

[gnue] r8246 - in trunk/gnue-forms/src: . input/displayHandlers


From: johannes
Subject: [gnue] r8246 - in trunk/gnue-forms/src: . input/displayHandlers
Date: Mon, 3 Apr 2006 18:20:07 -0500 (CDT)

Author: johannes
Date: 2006-03-21 13:53:53 -0600 (Tue, 21 Mar 2006)
New Revision: 8246

Modified:
   trunk/gnue-forms/src/GFForm.py
   trunk/gnue-forms/src/input/displayHandlers/DateTime.py
Log:
Don't use str(val) for length checking (does not work with unicode very 
well). Quick fix for invalid date-literals.


Modified: trunk/gnue-forms/src/GFForm.py
===================================================================
--- trunk/gnue-forms/src/GFForm.py      2006-03-21 19:29:49 UTC (rev 8245)
+++ trunk/gnue-forms/src/GFForm.py      2006-03-21 19:53:53 UTC (rev 8246)
@@ -372,18 +372,22 @@
 
         if self._currentEntry._type != 'GFButton':
           val = self._currentEntry.getValue()
-          if self._currentEntry._field.minLength and val is not None and 
len(str(val)):
-            if len(str(val)) < self._currentEntry._field.minLength:
+          # Don't use something like str (val) since this fails for unicode
+          # values
+          strval = "%s" % val
+
+          if self._currentEntry._field.minLength and val is not None and \
+              len (strval):
+            if len (strval) < self._currentEntry._field.minLength:
               message = u_("Minimum required length %d") \
                         % self._currentEntry._field.minLength
               # Piggybacking off the triggers message box code
               self.triggerShowMessageBox (message)
               return
 
-        event = events.Event('endEDITMODE',_form=self)
-        self.dispatchEvent(event)
+        event = events.Event ('endEDITMODE', _form = self)
+        self.dispatchEvent (event)
 
-        #self._instance.dispatchEvent(event)
         if event.__error__:
           return True
 

Modified: trunk/gnue-forms/src/input/displayHandlers/DateTime.py
===================================================================
--- trunk/gnue-forms/src/input/displayHandlers/DateTime.py      2006-03-21 
19:29:49 UTC (rev 8245)
+++ trunk/gnue-forms/src/input/displayHandlers/DateTime.py      2006-03-21 
19:53:53 UTC (rev 8246)
@@ -28,8 +28,23 @@
 
 import sys, time, datetime
 
+from gnue.common.apps import errors
 from gnue.forms.input.displayHandlers.Cursor import BaseCursor
 
+# =============================================================================
+# Exceptions
+# =============================================================================
+
+class InvalidDateLiteral (errors.UserError):
+  def __init__ (self, value):
+    msg = u_("'%(value)s' is not a valid date-literal") % {'value': value}
+    errors.UserError.__init__ (self, msg)
+
+
+# =============================================================================
+# Display handler for Date and Time values
+# =============================================================================
+
 class DateTime(BaseCursor):
   """
   Class to handle the display and entry of date based fields.
@@ -90,6 +105,10 @@
       month = value[:2]
       day = value[2:4]
       year = value[4:]
+
+    elif value.find ('/') == -1:
+      raise InvalidDateLiteral, value
+
     else:
       month, day, year = value.split('/')
 





reply via email to

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