in trunk

On Sep 15, 6:26 am, selecta <[email protected]> wrote:
> 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.
>
>

Reply via email to