Mercurial > p > roundup > code
changeset 1161:f2b77ac79641
bugfixes for redirect and form handling
| author | Richard Jones <richard@users.sourceforge.net> |
|---|---|
| date | Wed, 18 Sep 2002 00:01:28 +0000 |
| parents | 420de8f2d308 |
| children | 86d41c31f9be |
| files | roundup/cgi/client.py |
| diffstat | 1 files changed, 10 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/roundup/cgi/client.py Wed Sep 18 00:00:24 2002 +0000 +++ b/roundup/cgi/client.py Wed Sep 18 00:01:28 2002 +0000 @@ -1,4 +1,4 @@ -# $Id: client.py,v 1.37 2002-09-16 22:37:26 richard Exp $ +# $Id: client.py,v 1.38 2002-09-18 00:01:28 richard Exp $ __doc__ = """ WWW request handler (also used in the stand-alone server). @@ -610,7 +610,7 @@ message = _('You are now registered, welcome!') # redirect to the item's edit page - raise Redirect, '%s/%s%s?:ok_message=%s'%( + raise Redirect, '%s%s%s?:ok_message=%s'%( self.base, self.classname, self.userid, urllib.quote(message)) def registerPermission(self, props): @@ -687,7 +687,7 @@ message = _('nothing changed') # redirect to the item's edit page - raise Redirect, '%s/%s%s?:ok_message=%s'%(self.base, self.classname, + raise Redirect, '%s%s%s?:ok_message=%s'%(self.base, self.classname, self.nodeid, urllib.quote(message)) def editItemPermission(self, props): @@ -772,7 +772,7 @@ return # redirect to the new item's page - raise Redirect, '%s/%s%s?:ok_message=%s'%(self.base, self.classname, + raise Redirect, '%s%s%s?:ok_message=%s'%(self.base, self.classname, nid, urllib.quote(message)) def newItemPermission(self, props): @@ -1111,10 +1111,11 @@ props = {} keys = form.keys() + properties = cl.getprops() for key in keys: - if not cl.properties.has_key(key): + if not properties.has_key(key): continue - proptype = cl.properties[key] + proptype = properties[key] # Get the form value. This value may be a MiniFieldStorage or a list # of MiniFieldStorages. @@ -1161,7 +1162,7 @@ value = None else: # handle key values - link = cl.properties[key].classname + link = proptype.classname if not num_re.match(value): try: value = db.classes[link].lookup(value) @@ -1181,7 +1182,7 @@ # it's a MiniFieldStorage, but may be a comma-separated list # of values value = [i.strip() for i in value.value.split(',')] - link = cl.properties[key].classname + link = proptype.classname l = [] for entry in map(str, value): if entry == '': continue @@ -1215,7 +1216,7 @@ except KeyError: # this might be a new property for which there is no existing # value - if not cl.properties.has_key(key): raise + if not properties.has_key(key): raise # if changed, set it if value != existing:
