|
15 | 15 | # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE, |
16 | 16 | # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. |
17 | 17 | # |
18 | | -# $Id: cgi_client.py,v 1.129.2.3 2002-09-02 21:49:04 richard Exp $ |
| 18 | +# $Id: cgi_client.py,v 1.129.2.4 2002-09-02 21:57:11 richard Exp $ |
19 | 19 |
|
20 | 20 | __doc__ = """ |
21 | 21 | WWW request handler (also used in the stand-alone server). |
@@ -1342,13 +1342,16 @@ def parsePropsFromForm(db, cl, form, nodeid=0, num_re=re.compile('^\d+$')): |
1342 | 1342 | 'value': value, 'classname': link} |
1343 | 1343 | elif isinstance(proptype, hyperdb.Multilink): |
1344 | 1344 | value = form[key] |
1345 | | - if hasattr(value, 'value'): |
1346 | | - # Quite likely to be a FormItem instance |
1347 | | - value = value.value |
1348 | 1345 | if not isinstance(value, type([])): |
| 1346 | + if hasattr(value, 'value'): |
| 1347 | + value = value.value |
1349 | 1348 | value = [i.strip() for i in value.split(',')] |
1350 | 1349 | else: |
1351 | | - value = [i.strip() for i in value] |
| 1350 | + if value and hasattr(value[0], 'value'): |
| 1351 | + # an array of (Mini)FieldStorages |
| 1352 | + value = [i.value.strip() for i in value] |
| 1353 | + else: |
| 1354 | + value = [i.strip() for i in value] |
1352 | 1355 | link = cl.properties[key].classname |
1353 | 1356 | l = [] |
1354 | 1357 | for entry in map(str, value): |
@@ -1382,6 +1385,9 @@ def parsePropsFromForm(db, cl, form, nodeid=0, num_re=re.compile('^\d+$')): |
1382 | 1385 |
|
1383 | 1386 | # |
1384 | 1387 | # $Log: not supported by cvs2svn $ |
| 1388 | +# Revision 1.129.2.3 2002/09/02 21:49:04 richard |
| 1389 | +# backported fix to CGI form handling from 0.5 |
| 1390 | +# |
1385 | 1391 | # Revision 1.129.2.2 2002/07/22 22:06:45 richard |
1386 | 1392 | # . #535868 ] Anonymous User Login |
1387 | 1393 | # Hrm, I re-read the intention of the web/email login stuff, and realised |
|
0 commit comments