Clarification... having looked at extended_login_form() I can see it's not the solution I'm looking for (instead, it does what it says on the tin!)
I'll repost a new question. On Wednesday, 15 August 2012 16:05:24 UTC+1, Carl wrote: > > Q: How do I handle the setting of the equivalent > "auth.settings.actions_disabled" > for a 2nd authentication method? i.e. I won't have a registration form or > options to reset password or request a password reset for > LinkedIn-authenticated users but still need that functionality for a subset > of users. > > Background: > I'd like to offer users two methods of creating accounts because I have > two "types" of users. > > One type will login using their LinkedIn account from which I will take > their profile information and perform LinkedIn API calls (such as Search). > > The 2nd type will register their name, email and chosen password and then > go on to login with username/password. > > This page talks a little about Multiple login forms: > http://web2py.com/books/default/chapter/29/9#Customizing-Auth (I've > pasted in the relevant section below). > > But this text only deal with multiple Forms and not about > actions_disabled or anything else that needs to be changed to fully support > multiple authentication routes. > > From The Book... > Multiple login forms > > Some login methods modify the login_form, some do not. When they do that, > they may not be able to coexist. Yet some coexist by providing multiple > login forms in the same page. web2py provides a way to do it. Here is an > example mixing normal login (auth) and RPX login (janrain.com): > > 1. > 2. > 3. > 4. > > from gluon.contrib.login_methods.extended_login_form import ExtendedLoginForm > other_form = RPXAccount(request, api_key='...', domain='...', url='...') > auth.settings.login_form = ExtendedLoginForm(request, > auth, other_form, signals=['token']) > > If signals are set and a parameter in request matches any signals, it > will return the call ofother_form.login_form instead. other_form can > handle some particular situations, for example, multiple steps of OpenID > login inside other_form.login_form. > > Otherwise it will render the normal login form together with the > other_form > --

