it seems it dosen't work.. maybe because I have a username field defined in my auth_user?
On Dec 9, 4:46 pm, Anthony <abasta...@gmail.com> wrote: > Not tested, but maybe something like: > > def user(): > custom_auth.settings.login_userfield = 'username' > if request.args(0) == 'login': > if request.vars.username and not > IS_EMAIL()(request.vars.username)[1]: > custom_auth.settings.login_userfield = 'email' > request.vars.email = request.vars.username > return dict(form=custom_auth.login()) > return dict(form=custom_auth()) > > > > > > > > On Friday, December 9, 2011 10:52:56 AM UTC-5, Francisco Costa wrote: > > > I would prefer that way.. I what controller function? I'm using in > > form from default/user but I'm using a customauth > > > On Dec 9, 3:02 pm, Anthony <abas...@gmail.com> wrote: > > > Rather than write a whole new method, one trick might be in the login > > > controller function, check the incoming request.vars.username to see if > > it > > > is an email address (using the IS_EMAIL validator). Then, depending on > > > that, dynamically set auth.settings.login_userfield to either 'email' or > > > 'username', and then call auth.login() as usual. > > > > Anthony > > > > On Friday, December 9, 2011 9:50:02 AM UTC-5, Francisco Costa wrote: > > > > > yes, i think I'm going to build a custom method for login with > > > > username or email > > > > > On Dec 9, 2:13 pm, Anthony <aba...@gmail.com> wrote: > > > > > Are you saying you want users to be able to login with either their > > > > > username or their email address? For that, I think you might need a > > > > custom > > > > > login method. On the other hand, if you simply want to allow users to > > > > have > > > > > a username, but always login with email address, you should be able > > to > > > > do: > > > > > > auth.settings.login_userfield = 'email' > > > > > > Anthony > > > > > > On Friday, December 9, 2011 7:22:57 AM UTC-5, Francisco Costa wrote: > > > > > > > lots of users on login form submit their email instead of the > > > > > > username.. > > > > > > > it seems that auth.define_tables(username=True) forces username > > login > > > > > > but it is possible to have both?