I'm having a problem that I can't get to the bottom of. The crash happens
when a user submits an automatically generated SQLFORM. Here is the
traceback from the ticket:
File "/home/aicbt/webapps/alternate_config/web2py2.5.1/gluon/html.py", line
2189, in process
self.validate(**kwargs)
File "/home/aicbt/webapps/alternate_config/web2py2.5.1/gluon/html.py", line
2128, in validate
if self.accepts(**kwargs):
File "/home/aicbt/webapps/alternate_config/web2py2.5.1/gluon/sqlhtml.py",
line 1571, in accepts
self.vars.id = self.table.insert(**fields)
File "/home/aicbt/webapps/alternate_config/web2py2.5.1/gluon/dal.py", line
8598, in insert
ret = self._db._adapter.insert(self, self._listify(fields))
File "/home/aicbt/webapps/alternate_config/web2py2.5.1/gluon/dal.py", line
1210, in insert
raise e
DataError: integer out of range
Here is the table:
db.define_table('user_demographics',
Field('sex', type='string', length=8),
Field('year_of_birth', type='integer'),
Field('country', type='string', length=25),
Field('therapist_1', type='string', length=5),
Field('therapist_2', type='string', length=5),
Field('medication', type='string', length=5),
Field('find_out', type='string'),
Field('find_out_2', type='text', length=1000),)
and here is the code:
@auth.requires_login()
def user_main():
user_form = SQLFORM(db.user_demographics)
if user_form.process().accepted:
redirect(URL(r=request, c='social_anxiety', f='page', vars=dict(
page_id=next_page_id)))
elif user_form.errors:
response.flash = 'Please take a look at your answers'
Some notes that might be relevant:
- There is only one user who has this problem (thousands of other users
have used the system successfully). However, they have it *consistently*.
Furthermore, this is just one example - they have problems with any form
with text/string input.
- *I can't reproduce the error*. e.g. If I try to put in a really
small/large integer for the year, it is always handled gracefully. If I
disable JavaScript, the validator still comes back with useful error
messages.
- The user is in a non-English country
Based on this, I do not think the problem is the input, but something
specific to this particular user's system (OS + browser). Any ideas on how
I might reproduce this? I'm stumped.
To make matters worse, I have very limited opportunity to debug with the
user's assistance.
Thanks
Neil
--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.