From 0e9c5caf4d96cd67b7446158f8800884d3e6285c Mon Sep 17 00:00:00 2001 From: mdipierro Date: Sun, 7 Jun 2015 21:28:18 -0500 Subject: [PATCH] added request_reset_password_on... --- gluon/packages/dal | 2 +- gluon/tools.py | 15 ++++++++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/gluon/packages/dal b/gluon/packages/dal index 06654a16..62eb7767 160000 --- a/gluon/packages/dal +++ b/gluon/packages/dal @@ -1 +1 @@ -Subproject commit 06654a1676d6be2210739ee36ad34d12a72dd5e9 +Subproject commit 62eb7767db6ba88399034a785c7d35bf1f546437 diff --git a/gluon/tools.py b/gluon/tools.py index 71abdc76..783e6b28 100644 --- a/gluon/tools.py +++ b/gluon/tools.py @@ -1499,6 +1499,8 @@ class Auth(object): change_password_onvalidation = [], change_password_onaccept = [], retrieve_password_onvalidation = [], + request_reset_password_onvalidation = [], + request_reset_password_onaccept = [], reset_password_onvalidation = [], reset_password_onaccept = [], hmac_key = hmac_key, @@ -3173,6 +3175,12 @@ class Auth(object): except Exception: session.flash = self.messages.invalid_reset_password redirect(next, client_side=self.settings.client_side) + + if onvalidation is DEFAULT: + onvalidation = self.settings.reset_password_onvalidation + if onaccept is DEFAULT: + onaccept = self.settings.reset_password_onaccept + passfield = self.settings.password_field form = SQLFORM.factory( Field('new_password', 'password', @@ -3188,7 +3196,7 @@ class Auth(object): formstyle=self.settings.formstyle, separator=self.settings.label_separator ) - if form.accepts(request, session, + if form.accepts(request, session, onvalidation=onvalidation, hideerror=self.settings.hideerror): user.update_record( **{passfield: str(form.vars.new_password), @@ -3197,6 +3205,7 @@ class Auth(object): session.flash = self.messages.password_changed if self.settings.login_after_password_change: self.login_user(user) + callback(onaccept, form) redirect(next, client_side=self.settings.client_side) return form @@ -3222,9 +3231,9 @@ class Auth(object): response.flash = self.messages.function_disabled return '' if onvalidation is DEFAULT: - onvalidation = self.settings.reset_password_onvalidation + onvalidation = self.settings.request_reset_password_onvalidation if onaccept is DEFAULT: - onaccept = self.settings.reset_password_onaccept + onaccept = self.settings.request_reset_password_onaccept if log is DEFAULT: log = self.messages['reset_password_log'] userfield = self.settings.login_userfield or 'username' \