Exemple #1
0
def invitation(hash):
    user = users.get_current_user()
    invite = Invitation.gql('WHERE hash=:1', hash).get()
    if not invite:
        return render_template('invitation_expired.html')
    # We want the user to be logged out once before coming here so they can choose which account the invite applies to.
    if not invite.has_been_logged_out:
        invite.has_been_logged_out = True
        invite.put()
        if user:
            return redirect(users.create_logout_url(request.path))
    if not user:
        return redirect(users.create_login_url(request.path))
    site = invite.site
    if user not in site.users:
        site.users.append(user)
    if invite.admin and user not in site.admins:
        site.admins.append(user)
    site.put()
    for invite in Invitation.gql('WHERE email=:1 AND site=:2', invite.email, invite.site):
        invite.delete()
    return render_template('invitation.html', site=site)
Exemple #2
0
def invitation(hash):
    user = users.get_current_user()
    invite = Invitation.gql('WHERE hash=:1', hash).get()
    if not invite:
        return render_template('invitation_expired.html')
    # We want the user to be logged out once before coming here so they can choose which account the invite applies to.
    if not invite.has_been_logged_out:
        invite.has_been_logged_out = True
        invite.put()
        if user:
            return redirect(users.create_logout_url(request.path))
    if not user:
        return redirect(users.create_login_url(request.path))
    site = invite.site
    if user not in site.users:
        site.users.append(user)
    if invite.admin and user not in site.admins:
        site.admins.append(user)
    site.put()
    for invite in Invitation.gql('WHERE email=:1 AND site=:2', invite.email,
                                 invite.site):
        invite.delete()
    return render_template('invitation.html', site=site)