[web2py] Re: problem with request_reset_password?

2010-12-15 Thread kevski
I found the problem. I think someone broke backward compatibility. A
new field was added to auth_user after I started the project. I think
the field was added to improve the security of the reset password
process so that's a good thing. Why this broken compatibility wasn't
disclosed and explained is a mystery. I discovered it by creating a
new project with the latest code and comparing the auth_user table to
what I had.

Anyway, for anyone experiencing this issue you need to add a field to
auth_user:

  Field('reset_password_key', length=512, default='', writable=False,
readable=False)


On Dec 14, 9:02 am, DenesL denes1...@yahoo.ca wrote:
 As you suspect, the error is caused by the missing arguments **b, but
 it is hard to tell why without seeing your code.

 On Dec 13, 5:58 pm, kevski corbett.ke...@gmail.com wrote:



  I snipped a lot of the intermediate stuff out but basically I try to
  use the lost_password link on the login page and get the following
  traceback. Looking at the sql statement it appears that the parameters
  for SET are missing.

  from below: Function argument list: (*a=('UPDATE auth_user SET WHERE
  auth_user.id=806;',), **b={})

  I have a custom auth_user table in that I added some fields.

  Other data: I can set a new password by using change_password after
  logging in.

  Let me know what kind of additional information might help.

  Pieces of the traceback information.

  ***

  web2py Version 1.89.5 (2010-11-21 22:12:54)

  Error traceback:

  Traceback (most recent call last):
    File gluon/restricted.py, line 188, in restricted
    File E:/web2py/applications/psc/controllers/default.py, line 55,
  in module
    File gluon/globals.py, line 96, in lambda
    File E:/web2py/applications/psc/controllers/default.py, line 34,
  in user
    File gluon/tools.py, line 1038, in __call__
    File gluon/tools.py, line 1998, in request_reset_password
    File gluon/sql.py, line 3416, in lambda
    File gluon/sql.py, line 3551, in update_record
    File gluon/sql.py, line 3506, in update
    File gluon/sql.py, line 965, in lambda
  OperationalError: near WHERE: syntax error

  Error snapshot
  Detailed traceback description

      * Exception: class 'sqlite3.OperationalError'(near WHERE:
  syntax error)
      * Python 2.5.4: E:\web2py\web2py.exe

  File E:\web2py\gluon\sql.py in lambda at line 965
  [ code | arguments | variables ]
  Function argument list: (*a=('UPDATE auth_user SET WHERE
  auth_user.id=806;',), **b={})- Hide quoted text -

 - Show quoted text -


[web2py] problem with request_reset_password?

2010-12-13 Thread kevski
I snipped a lot of the intermediate stuff out but basically I try to
use the lost_password link on the login page and get the following
traceback. Looking at the sql statement it appears that the parameters
for SET are missing.

from below: Function argument list: (*a=('UPDATE auth_user SET WHERE
auth_user.id=806;',), **b={})

I have a custom auth_user table in that I added some fields.

Other data: I can set a new password by using change_password after
logging in.

Let me know what kind of additional information might help.




Pieces of the traceback information.

***


web2py Version 1.89.5 (2010-11-21 22:12:54)

Error traceback:

Traceback (most recent call last):
  File gluon/restricted.py, line 188, in restricted
  File E:/web2py/applications/psc/controllers/default.py, line 55,
in module
  File gluon/globals.py, line 96, in lambda
  File E:/web2py/applications/psc/controllers/default.py, line 34,
in user
  File gluon/tools.py, line 1038, in __call__
  File gluon/tools.py, line 1998, in request_reset_password
  File gluon/sql.py, line 3416, in lambda
  File gluon/sql.py, line 3551, in update_record
  File gluon/sql.py, line 3506, in update
  File gluon/sql.py, line 965, in lambda
OperationalError: near WHERE: syntax error

Error snapshot
Detailed traceback description

* Exception: class 'sqlite3.OperationalError'(near WHERE:
syntax error)
* Python 2.5.4: E:\web2py\web2py.exe

File E:\web2py\gluon\sql.py in lambda at line 965
[ code | arguments | variables ]
Function argument list: (*a=('UPDATE auth_user SET WHERE
auth_user.id=806;',), **b={})