Wait... Doesn't web2py already have this built in? Maybe I don't understand the question...
Using a plain vanilla `form = auth()` You get a register form... http://thadeusb.com/admin/user/register -- Thadeus On Mon, May 24, 2010 at 10:57 PM, Thadeus Burgess <thade...@thadeusb.com> wrote: > Stick the following code in a controller > > > import copy > > user_table = [copy.copy(f) for f in db.auth_user] > form = SQLFORM.factory( > *user_table, > Field('password2', 'password', length=512, > requires=db.auth_user.password.requires), > ) > > if form.accepts(request.vars, session): > if form.vars.password == form.vars.password2: > user = db.auth_user.insert( > first_name = form.vars.first_name, > last_name = form.vars.last_name, > username = form.vars.username, > password = form.vars.password, > registration_key = web2py_uuid(), > ) > > if auth.settings.create_user_groups: > group_id = auth.create_group("user_%s" user.id) > > # etc etc for sending mail > > # to auto log them in > session.auth = Storage(user = user, last_visit = request.now, > expiration = auth.settings.expiration) > else: > form.errors.password = form.errors.password2 = "Passwords do not match" > > Of course, you lose some of the finer things such as sending emails, > which could be added by looking at tools.py > > -- > Thadeus > > > > > > On Mon, May 24, 2010 at 7:39 PM, weheh <richard_gor...@verizon.net> wrote: >> @mdp: It isn't obvious to me how to mix the auth code with >> SQLFORM.factory and accept. The problem is that auth is such a black >> box that I don't know where to break into the flow of it. >> >> I believe this issue has come up enough times and been such a >> consistent stumbling block that I suggest you or someone else spell it >> out concretely (show the model, controller, and view) and put it >> either in the doc or in Alterego or somewhere findable. I can't >> imagine it's more than 20 or 30 lines of code total and would save >> loads of time and effort in the long run. >> >