I have an application that enables users to invite others by capturing
their email address and sending an email invite.  The invite includes
a link to a specific 'community'.  When the user clicks the link they
are taken to the application.  If they are already registered (which
is not the case on 1st run experience) they are taken directly to the
meeting.   What I have not been able to figure out is how I take the
user to the meeting when they are a brand new user and have to
register first.  I studied several posts where you and others were
debating the changes to trunk and the various paths to accomplish this
but did not see a solution.

The goal is the following:
1) user clicks link
2) system displays login screen
3) user selects to register
4) system registers and logs user in
5) systme take user to correct community

Here is what I have in me default/index controller now:

def index():
    if not auth.is_logged_in():
        # if user clicked email link, redirect to login and set url to
get and check meeting password
        #meetingparm = request.env.http_host.split('.')[1]
        #meeting = db(db.meeting.link==meetingparm).select().first()
        meeting = db(db.meeting.link).select().first()
        if meeting:     # user clicked a link with a valid meeting,
lets get'em logged in and figure out who they are
            next =
URL(r=request,c='meetings',f='getmeetingpassword',args=meeting.id)
            auth.settings.register_onaccept=lambda form:
redirect(next)
            auth.settings.register_next = next
 
redirect(URL(r=request,f='user',args='login',vars=dict(_next=next)))
    return dict(message=T(''))

The problem is I do not see how to ask web2Py to redirect to
"next' (see code above) if they have to register first and are auto-
logged in.

Reply via email to