I misunderstood it, but it's clear now. Thank you Anthony! Em quinta-feira, 10 de julho de 2014 00h58min22s UTC-3, Anthony escreveu: > > If you just want to specify a URL for redirect, you can do so without the > lambda: > > auth.settings.on_failed_authentication = URL('painel', 'index') > > However, if you do define a lambda (or any callable), it should accept an > argument. > > Anthony > > On Wednesday, July 9, 2014 9:31:17 PM UTC-4, Júlia Rizza wrote: >> >> I've completely forgot about the on_failed_authentication, sorry. >> >> *models/db.py* >> auth.settings.on_failed_authentication = lambda: redirect(URL('painel', >> 'index')) >> >> (web2py version 2.8.2-stable) >> >> >> Em quarta-feira, 9 de julho de 2014 21h31min19s UTC-3, Anthony escreveu: >>> >>> Did you change auth.settings.on_failed_authentication from its default >>> value? >>> >>> On Wednesday, July 9, 2014 8:11:25 PM UTC-4, Júlia Rizza wrote: >>>> >>>> Hello, >>>> >>>> I have an app runing in production on Apache and sometimes when >>>> navigating over it I receive a ticket with a lambda error. It happens >>>> ramdomly in a way that I wasn't able to predict what was causing it: >>>> already ocurred in a function called dashboard, in another called invite >>>> and some others. But the fact is that I do not call lambda in none of >>>> them. >>>> I only use lambda two times: >>>> >>>> *models/validators.py* >>>> db.board.slug.compute = lambda row: IS_SLUG()(row.title)[0] >>>> >>>> *controllers/painel.py | function: board()* >>>> try: >>>> int(request.args(1)) >>>> user = db(db.auth_user.username == request.args(0)).select().first() >>>> board = db((db.board.created_by == user.id)&(db.board.id == >>>> request.args(1))).select().first() >>>> except ValueError: >>>> user = db(db.auth_user.username == request.args(0)).select().first() >>>> board = db((db.board.created_by == user.id)&(db.board.slug == >>>> request.args(1))).select().first() >>>> except TypeError: >>>> raise HTTP(404, T('No board specified!')) >>>> >>>> text_type = db(db.text_type.board == board.id).select() >>>> url_type = db(db.url_type.board == board.id).select() >>>> image_type = db(db.image_type.board == board.id).select() >>>> video_type = db(db.video_type.board == board.id).select() >>>> >>>> merged_records = itertools.chain(text_type, url_type, image_type, >>>> video_type) >>>> contents = sorted(merged_records, key=lambda record: >>>> record['topic_position']) >>>> >>>> The ticket *traceback* is: >>>> <type 'exceptions.TypeError'> <lambda>() takes no arguments (1 given) >>>> >>>> 1. >>>> 2. >>>> 3. >>>> 4. >>>> 5. >>>> 6. >>>> 7. >>>> 8. >>>> 9. >>>> 10. >>>> 11. >>>> 12. >>>> >>>> Traceback (most recent call last): >>>> File "/home/www-data/web2py/gluon/restricted.py", line 217, in restricted >>>> exec ccode in environment >>>> File "/home/www-data/web2py/applications/cachola/controllers/painel.py" >>>> <https://cacho.la/admin/default/edit/cachola/controllers/painel.py>, line >>>> 519, in <module> >>>> File "/home/www-data/web2py/gluon/globals.py", line 372, in <lambda> >>>> self._caller = lambda f: f() >>>> File "/home/www-data/web2py/gluon/tools.py", line 3229, in f >>>> '?_next=' + urllib.quote(next)) >>>> File "/home/www-data/web2py/gluon/tools.py", line 91, in call_or_redirect >>>> redirect(f(*args)) >>>> TypeError: <lambda>() takes no arguments (1 given) >>>> >>>> >>>> Can somebody help me to understand where is the problem? >>>> >>>
-- 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 web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.