that should fix it
diff --git a/gluon/tools.py b/gluon/tools.py
--- a/gluon/tools.py
+++ b/gluon/tools.py
@@ -847,6 +847,7 @@
self.settings.login_methods = [self]
self.settings.login_form = self
self.settings.login_email_validate = True
+ self.settings.login_userfield = None
self.settings.logout_next = self.url('index')
self.settings.logout_onlogout = None
@@ -1294,7 +1295,9 @@
request = self.environment.request
session = self.environment.session
table_user = self.settings.table_user
- if 'username' in table_user.fields:
+ if self.settings.login_userfield:
+ userfield = self.settings.login_userfield
+ elif 'username' in table_user.fields:
userfield = 'username'
else:
userfield = 'email'
@@ -1326,7 +1329,9 @@
"""
table_user = self.settings.table_user
- if 'username' in table_user.fields:
+ if self.settings.login_userfield:
+ username = self.settings.login_userfield
+ elif 'username' in table_user.fields:
username = 'username'
else:
username = 'email'
On Sep 15, 1:11 pm, selecta <[email protected]> wrote:
> I have customized my auth table and allow via a configuration file to
> login via LDAP. If LDAP is enabled the username field should be used
> for login if LDAP is not enabled the email field should be used for
> logging in.
> Is this possible?
> looking into def login_bare() and def login() it seems like that when
> a username field is available it is always used.
> I guess I have to fix this on my own, right? Just checking to see if
> am correct.