If I remember correctly there was something about this on the list.

I think you use the URL the wrong way and until version 1.83.2 the helper worked wrongly. In your case it "worked" but it has been corrected and it doesn´t work anymore.

Try something like URL(c='account', f='log_in')


Kenneth


Hi

I have a problem since version 1.83.2. It gives me this error:

Traceback (most recent call last):
   File "D:\web2py\gluon\restricted.py", line 186, in restricted
     exec ccode in environment
   File "D:/web2py/applications/init/controllers/default.py", line 91,
in<module>
   File "D:\web2py\gluon\globals.py", line 96, in<lambda>
     self._caller = lambda f: f()
   File "D:/web2py/applications/init/controllers/default.py", line 55,
in index
     name = check_login()
   File "D:/web2py/applications/init/controllers/default.py", line 38,
in check_login
     redirect(URL(r=request, f='../account/log_in'))
   File "D:\web2py\gluon\html.py", line 226, in _URL
     return URL(*args, **kwargs)
   File "D:\web2py\gluon\html.py", line 186, in URL
     raise SyntaxError, 'not enough information to build the url'
SyntaxError: not enough information to build the url

My codes worked up to version 1.82.1.

I am using my own authorization/login codes which is in controllers/
account.py. The offending code (check_login function) is as follows:

def check_login(session=session):
     if session.login_time == None:
         session.login_time = 0
     if session.username == None or \
         session.login_time + login_expiry * 3600<  int(time.time()):
         redirect(URL(r=request, f='../account/log_in'))
     else:
         return session.username

In version 1.82.1, check_login (called by http://localhost:8000/init)
redirects to http://localhost:8000/init/account/login. But from
version 1.83.2, it seems to redirect to 
http://localhost:8000/init/default/init/account/login
which is non-existent.

Any ideas what might be happening?

Thanks
Maurice Ling

Reply via email to