In the typical 0_db.py file I'm setting

auth.settings.register_onaccept=[complete_login]



I also define complete_login there and it raises an 
    HTTP(200)
for a redirect.

Now, in my "user" controller I have:

def register():
    ...
    register_form = SQLFORM.factory( db.auth_user, ...  )
    ...
    if register_form.process(formname='register-form', onvalidation=
validate_registration).accepted:
        # create user
        user_id = db.auth_user.insert(
                first_name='',
                last_name='',
                email=register_form.vars.email,
                ... other stuff ...
                password=register_form.vars.password,

                )
        ... do a lot of group and permission stuff ...
        # auto log them in 
        from gluon.storage import Storage, Settings, Messages
        session.auth = Storage(user=db.auth_user[user_id], last_visit=
request.now,
                expiration=auth.settings.expiration) 
    elif register_form.errors:
        response.flash = T('Please correct error in registration form')
    return dict(register_form=register_form)


The problem is, the 

complete_login()

function is not getting executed after register() returns. Why not?

FWIW, I also have auth.settings.login_onaccept set as well, but it's 
function isn't getting executed either.

Reply via email to