Skip to content

Commit ebcc910

Browse files
author
Richard Jones
committed
bugfixes for redirect and form handling
1 parent 53922f9 commit ebcc910

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

roundup/cgi/client.py

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# $Id: client.py,v 1.37 2002-09-16 22:37:26 richard Exp $
1+
# $Id: client.py,v 1.38 2002-09-18 00:01:28 richard Exp $
22

33
__doc__ = """
44
WWW request handler (also used in the stand-alone server).
@@ -610,7 +610,7 @@ def registerAction(self):
610610
message = _('You are now registered, welcome!')
611611

612612
# redirect to the item's edit page
613-
raise Redirect, '%s/%s%s?:ok_message=%s'%(
613+
raise Redirect, '%s%s%s?:ok_message=%s'%(
614614
self.base, self.classname, self.userid, urllib.quote(message))
615615

616616
def registerPermission(self, props):
@@ -687,7 +687,7 @@ def editItemAction(self):
687687
message = _('nothing changed')
688688

689689
# redirect to the item's edit page
690-
raise Redirect, '%s/%s%s?:ok_message=%s'%(self.base, self.classname,
690+
raise Redirect, '%s%s%s?:ok_message=%s'%(self.base, self.classname,
691691
self.nodeid, urllib.quote(message))
692692

693693
def editItemPermission(self, props):
@@ -772,7 +772,7 @@ def newItemAction(self):
772772
return
773773

774774
# redirect to the new item's page
775-
raise Redirect, '%s/%s%s?:ok_message=%s'%(self.base, self.classname,
775+
raise Redirect, '%s%s%s?:ok_message=%s'%(self.base, self.classname,
776776
nid, urllib.quote(message))
777777

778778
def newItemPermission(self, props):
@@ -1111,10 +1111,11 @@ def parsePropsFromForm(db, cl, form, nodeid=0, num_re=re.compile('^\d+$')):
11111111

11121112
props = {}
11131113
keys = form.keys()
1114+
properties = cl.getprops()
11141115
for key in keys:
1115-
if not cl.properties.has_key(key):
1116+
if not properties.has_key(key):
11161117
continue
1117-
proptype = cl.properties[key]
1118+
proptype = properties[key]
11181119

11191120
# Get the form value. This value may be a MiniFieldStorage or a list
11201121
# of MiniFieldStorages.
@@ -1161,7 +1162,7 @@ def parsePropsFromForm(db, cl, form, nodeid=0, num_re=re.compile('^\d+$')):
11611162
value = None
11621163
else:
11631164
# handle key values
1164-
link = cl.properties[key].classname
1165+
link = proptype.classname
11651166
if not num_re.match(value):
11661167
try:
11671168
value = db.classes[link].lookup(value)
@@ -1181,7 +1182,7 @@ def parsePropsFromForm(db, cl, form, nodeid=0, num_re=re.compile('^\d+$')):
11811182
# it's a MiniFieldStorage, but may be a comma-separated list
11821183
# of values
11831184
value = [i.strip() for i in value.value.split(',')]
1184-
link = cl.properties[key].classname
1185+
link = proptype.classname
11851186
l = []
11861187
for entry in map(str, value):
11871188
if entry == '': continue
@@ -1215,7 +1216,7 @@ def parsePropsFromForm(db, cl, form, nodeid=0, num_re=re.compile('^\d+$')):
12151216
except KeyError:
12161217
# this might be a new property for which there is no existing
12171218
# value
1218-
if not cl.properties.has_key(key): raise
1219+
if not properties.has_key(key): raise
12191220

12201221
# if changed, set it
12211222
if value != existing:

0 commit comments

Comments
 (0)