fixed in trunk. Thanks Alan.
On Wednesday, 4 April 2012 07:33:28 UTC-5, Alan Etkin wrote: > > When I submit a form created with .factory(), on validation web2py throws > this error: > > Traceback (most recent call last): > File "/home/alan/web2py/web2py-hg/gluon/restricted.py", line 205, in > restricted > exec ccode in environment > File > "/home/alan/web2py/web2py-hg/applications/pyodel/controllers/wizard.py" > <http://127.0.0.1:8000/admin/default/edit/pyodel/controllers/wizard.py>, line > 414, in <module> > File "/home/alan/web2py/web2py-hg/gluon/globals.py", line 175, in <lambda> > self._caller = lambda f: f() > File > "/home/alan/web2py/web2py-hg/applications/pyodel/controllers/wizard.py" > <http://127.0.0.1:8000/admin/default/edit/pyodel/controllers/wizard.py>, line > 221, in quiz > if form.process().accepted: > File "/home/alan/web2py/web2py-hg/gluon/html.py", line 2004, in process > self.validate(**kwargs) > File "/home/alan/web2py/web2py-hg/gluon/html.py", line 1951, in validate > if self.accepts(**kwargs): > File "/home/alan/web2py/web2py-hg/gluon/sqlhtml.py", line 1040, in accepts > try: > AttributeError: 'SQLFORM' object has no attribute try: > 'readonly' > > > I think that cause of the error is that the code that initializes the form > doesn't set the object's readonly attribute. > > I solved the problem by using a try-except block here. > > # gluon/sqlhtml.py line 1040 > try: > if self.readonly: return False > except AttributeError, e: > self.readonly = False > > > > Anyway, this is not a proper patch. The correct one should set the > readonly attribute on form instantiation. My web2py version is Version > 1.99.7 (2012-04-01 23:37:42) dev > >

