From 4946ebf1547019da20452eca18b5f136adb932c2 Mon Sep 17 00:00:00 2001 From: Massimo Date: Tue, 8 Jan 2013 15:23:44 -0600 Subject: [PATCH] fixed issue 1260, auth.settings.update_fields, thanks Nafiux --- VERSION | 2 +- gluon/tools.py | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/VERSION b/VERSION index 3ab446d1..f74e79d9 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -Version 2.4.1-alpha.2+timestamp.2013.01.08.14.36.21 +Version 2.4.1-alpha.2+timestamp.2013.01.08.15.22.56 diff --git a/gluon/tools.py b/gluon/tools.py index a30d45ce..8febc183 100644 --- a/gluon/tools.py +++ b/gluon/tools.py @@ -881,6 +881,7 @@ class Auth(object): profile_fields=None, email_case_sensitive=True, username_case_sensitive=True, + update_fields = ['email'], ) # ## these are messages that can be customized default_messages = dict( @@ -2047,7 +2048,8 @@ class Auth(object): if not self in self.settings.login_methods: # do not store password in db form.vars[passfield] = None - user = self.get_or_create_user(form.vars) + user = self.get_or_create_user( + form.vars, self.settings.update_fields) break if not user: # alternates have failed, maybe because service inaccessible @@ -2067,7 +2069,8 @@ class Auth(object): if not self in self.settings.login_methods: # do not store password in db form.vars[passfield] = None - user = self.get_or_create_user(form.vars) + user = self.get_or_create_user( + form.vars, self.settings.update_fields) break if not user: self.log_event(self.messages.login_failed_log, @@ -2087,7 +2090,8 @@ class Auth(object): if cas_user: cas_user[passfield] = None user = self.get_or_create_user( - table_user._filter_fields(cas_user)) + table_user._filter_fields(cas_user), + self.settings.update_fields) elif hasattr(cas, 'login_form'): return cas.login_form() else: