This problem appeared when I moved my application from x to 1.99.2.
I use crud.update to display and modify a member directory record. Selecting
and displaying the record works, but when submitting an updated record I get
a failure:
TRACEBACK
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Traceback (most recent call last):
File "C:\Documents and Settings\David Manns\My
Documents\ocsnedb\gluon\restricted.py", line 194, in restricted
raise
File "C:/Documents and Settings/David Manns/My Documents/ocsnedb
saved/applications/init/controllers/default.py"
<http://127.0.0.1:8000/admin/default/edit/init/controllers/default.py>, line
889, in <module>
File "C:\Documents and Settings\David Manns\My
Documents\ocsnedb\gluon\globals.py", line 149, in <lambda>
File "C:/Documents and Settings/David Manns/My Documents/ocsnedb
saved/applications/init/controllers/default.py"
<http://127.0.0.1:8000/admin/default/edit/init/controllers/default.py>, line
273, in memberform
deletable = False, next=next, onvalidation=setmodified)
File "C:\Documents and Settings\David Manns\My
Documents\ocsnedb\gluon\tools.py", line 2994, in update
formname=DEFAULT,
File "C:\Documents and Settings\David Manns\My
Documents\ocsnedb\gluon\tools.py", line 79, in replace_id
TypeError: float argument required
The controller code looks like:
def memberform():
chkurlreader()
if request <http://127.0.0.1:8000/examples/global/vars/request>.vars.membid:
member=db.Members[request
<http://127.0.0.1:8000/examples/global/vars/request>.vars.membid]
db.Members.Email.comment = A
<http://127.0.0.1:8000/examples/global/vars/A>('Add/Edit/Delete Email
Address(es)',
_href=URL
<http://127.0.0.1:8000/examples/global/vars/URL>('memberemail',
vars=dict(membid=request
<http://127.0.0.1:8000/examples/global/vars/request>.vars.membid, next=request
<http://127.0.0.1:8000/examples/global/vars/request>.vars.next)))
db.Members.Affiliation.comment = A
<http://127.0.0.1:8000/examples/global/vars/A>('Add/Edit/Delete Affiliation(s)',
_href=URL
<http://127.0.0.1:8000/examples/global/vars/URL>('memberaffiliation',
vars=dict(membid=request
<http://127.0.0.1:8000/examples/global/vars/request>.vars.membid, next=request
<http://127.0.0.1:8000/examples/global/vars/request>.vars.next)))
if member.Status in ('Full', 'Student'):
db.Members.Paiddate.comment = A
<http://127.0.0.1:8000/examples/global/vars/A>('Process dues payment',
_href=URL
<http://127.0.0.1:8000/examples/global/vars/URL>('memberdues',
vars=dict(membid=request
<http://127.0.0.1:8000/examples/global/vars/request>.vars.membid, next=request
<http://127.0.0.1:8000/examples/global/vars/request>.vars.next)))
else:
db.Members.Paiddate.comment = 'Only for Full & Student Members'
next = URL <http://127.0.0.1:8000/examples/global/vars/URL>('memberform',
vars=dict(membid=request
<http://127.0.0.1:8000/examples/global/vars/request>.vars.membid, next=request
<http://127.0.0.1:8000/examples/global/vars/request>.vars.next))
form = crud.update(db.Members, request
<http://127.0.0.1:8000/examples/global/vars/request>.vars.membid,
deletable = False, next=next, onvalidation=setmodified)
form[0][-1][1].append(INPUT
<http://127.0.0.1:8000/examples/global/vars/INPUT>(_type="button",_value="Cancel",
_onclick="window.location='%s';"%request
<http://127.0.0.1:8000/examples/global/vars/request>.vars.next))
else:
db.Members.Email.comment = 'Add email address(es) after creating basic
record'
db.Members.Affiliation.comment = 'Add affiliation(s) after creating basic
record'
db.Members.Paiddate.comment = 'Usually set by processing dues payment'
form = crud.create(db.Members, next=request
<http://127.0.0.1:8000/examples/global/vars/request>.vars.next,
onaccept=newmember)
form[0][-1][1].append(INPUT
<http://127.0.0.1:8000/examples/global/vars/INPUT>(_type="button",_value="Cancel",
_onclick="window.location='%s';"%request
<http://127.0.0.1:8000/examples/global/vars/request>.vars.next))
return dict(form=form, next=request
<http://127.0.0.1:8000/examples/global/vars/request>.vars.next, membid=request
<http://127.0.0.1:8000/examples/global/vars/request>.vars.membid)