diff templates/classic/detectors/userauditor.py @ 3895:fa611c224895

only validate timezone if they set it they can clear the timezone which resulted in tz==None and an exception
author Justus Pendleton <jpend@users.sourceforge.net>
date Tue, 11 Sep 2007 21:28:29 +0000
parents 4fcf7a52767e
children 21420ba64b0d
line wrap: on
line diff
--- a/templates/classic/detectors/userauditor.py	Tue Sep 11 04:12:17 2007 +0000
+++ b/templates/classic/detectors/userauditor.py	Tue Sep 11 21:28:29 2007 +0000
@@ -18,7 +18,7 @@
 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 # SOFTWARE.
 #
-#$Id: userauditor.py,v 1.7 2007-09-06 16:52:19 jpend Exp $
+#$Id: userauditor.py,v 1.8 2007-09-11 21:28:29 jpend Exp $
 
 def audit_user_fields(db, cl, nodeid, newvalues):
     ''' Make sure user properties are valid.
@@ -42,19 +42,20 @@
                 raise ValueError, 'Role "%s" does not exist'%rolename
 
     if newvalues.has_key('timezone'):
-        # validate the timezone by attempting to use it
-        # before we store it to the db.
-        import roundup.date
-        import datetime
-        try:
-            tz = newvalues['timezone']
-            TZ = roundup.date.get_timezone(tz)
-            dt = datetime.datetime.now()
-            local = TZ.localize(dt).utctimetuple()
-        except IOError:
-            raise ValueError, 'Timezone "%s" does not exist' % tz
-        except ValueError:
-            raise ValueError, 'Timezone "%s" exceeds valid range [-23...23]' % tz
+        tz = newvalues['timezone']
+        if tz:
+            # if they set a new timezone validate the timezone by attempting to
+            # use it before we store it to the db.
+            import roundup.date
+            import datetime
+            try:
+                TZ = roundup.date.get_timezone(tz)
+                dt = datetime.datetime.now()
+                local = TZ.localize(dt).utctimetuple()
+            except IOError:
+                raise ValueError, 'Timezone "%s" does not exist' % tz
+            except ValueError:
+                raise ValueError, 'Timezone "%s" exceeds valid range [-23...23]' % tz
 
 def init(db):
     # fire before changes are made

Roundup Issue Tracker: http://roundup-tracker.org/