diff roundup/cgi/client.py @ 1320:3758a5af985f

Lots of little fixes in this update: - fixed Date.local() - email quoted text stripping is controllable again [SF#650742] - extract attachment name from content-disposition if name missing [SF#637278] - removed FILTER_POSITION from bundled configs - reverse message listing in issue display (reversion of recent change) - bad entries for multilink editing in cgi don't traceback now [SF#640310]
author Richard Jones <richard@users.sourceforge.net>
date Tue, 10 Dec 2002 00:11:16 +0000
parents 62103ced4482
children 80eef084069a
line wrap: on
line diff
--- a/roundup/cgi/client.py	Mon Dec 09 02:51:46 2002 +0000
+++ b/roundup/cgi/client.py	Tue Dec 10 00:11:16 2002 +0000
@@ -1,4 +1,4 @@
-# $Id: client.py,v 1.58 2002-11-28 07:08:39 richard Exp $
+# $Id: client.py,v 1.59 2002-12-10 00:11:15 richard Exp $
 
 __doc__ = """
 WWW request handler (also used in the stand-alone server).
@@ -691,7 +691,7 @@
             props = self._changenode(props)
             # handle linked nodes 
             self._post_editnode(self.nodeid)
-        except (ValueError, KeyError), message:
+        except (ValueError, KeyError, IndexError), message:
             self.error_message.append(_('Error: ') + str(message))
             return
 
@@ -771,7 +771,19 @@
         try:
             # do the create
             nid = self._createnode(props)
+        except (ValueError, KeyError, IndexError), message:
+            # these errors might just be indicative of user dumbness
+            self.error_message.append(_('Error: ') + str(message))
+            return
+        except:
+            # oops
+            self.db.rollback()
+            s = StringIO.StringIO()
+            traceback.print_exc(None, s)
+            self.error_message.append('<pre>%s</pre>'%cgi.escape(s.getvalue()))
+            return
 
+        try:
             # handle linked nodes 
             self._post_editnode(nid)
 
@@ -783,9 +795,6 @@
 
             # and some nice feedback for the user
             message = _('%(classname)s created ok')%self.__dict__ + xtra
-        except (ValueError, KeyError), message:
-            self.error_message.append(_('Error: ') + str(message))
-            return
         except:
             # oops
             self.db.rollback()

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