From 6ced9dd235a01ed6d56f21d6aff2e998998f3534 Mon Sep 17 00:00:00 2001 From: mdipierro Date: Sun, 2 Dec 2012 08:27:17 -0600 Subject: [PATCH] auth.settings.login_onfail, thanks Yair --- VERSION | 2 +- gluon/tools.py | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/VERSION b/VERSION index d5d9ad78..b38dd556 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -Version 2.2.1 (2012-12-01 16:38:47) stable +Version 2.2.1 (2012-12-02 08:26:35) stable diff --git a/gluon/tools.py b/gluon/tools.py index 1bae0a03..814f3d37 100644 --- a/gluon/tools.py +++ b/gluon/tools.py @@ -1142,6 +1142,7 @@ class Auth(object): login_next = url_index, login_onvalidation = [], login_onaccept = [], + login_onfail = [], login_methods = [self], login_form = self, logout_next = url_index, @@ -1953,7 +1954,9 @@ class Auth(object): onaccept = self.settings.login_onaccept if log is DEFAULT: log = self.messages.login_log - + + onfail = self.settings.login_onfail + user = None # default # do we use our own login form, or from a central source? @@ -2066,6 +2069,7 @@ class Auth(object): request.post_vars) # invalid login session.flash = self.messages.invalid_login + callback(onfail, None) redirect( self.url(args=request.args, vars=request.get_vars), client_side=True) @@ -2108,10 +2112,12 @@ class Auth(object): session._auth_next = None next = replace_id(next, form) redirect(next, client_side=True) + table_user[username].requires = old_requires return form elif user: callback(onaccept, None) + if next == session._auth_next: del session._auth_next redirect(next, client_side=True)