Exemplo n.º 1
0
def confirm_create_user(request, account_type, email):
    redirect_to = request.REQUEST.get(REDIRECT_FIELD_NAME, '')
    if request.method == 'POST':
        form = EmailForm(request.POST)
        if form.is_valid():
            email = form.cleaned_data['email']
            if account_type == 'facebook':
                return facebook_login(request,
                                      next=redirect_to,
                                      confirmed=True,
                                      email=email)
            if account_type == 'google':
                return google_login(request,
                                    next=redirect_to,
                                    confirmed=True,
                                    email=email)
            if account_type == 'twitter':
                return twitter_login(request,
                                     next=redirect_to,
                                     confirmed=True,
                                     email=email)
            if account_type == 'openid':
                pass
            if account_type == 'ted':
                provider = get_authentication_provider('ted')
                return provider.view(request, confirmed=True, email=email)
            if account_type == 'udacity':
                request.session['openid_provider'] = 'Udacity'
                return begin_openid(
                    request,
                    user_url='https://www.udacity.com/openid/server',
                    redirect_to=reverse('socialauth_udacity_complete',
                                        args=(email, )),
                    confirmed=True)
    else:
        initial = {}
        if email:
            initial['email'] = email
        form = EmailForm(initial=initial)
    return render_login(request,
                        CustomUserCreationForm(label_suffix=""),
                        AuthenticationForm(label_suffix=""),
                        redirect_to,
                        email_form=form,
                        confirm_type=account_type)
Exemplo n.º 2
0
def confirm_create_user(request, account_type, email):
    redirect_to = post_or_get_value(request, REDIRECT_FIELD_NAME, '')
    if request.method == 'POST':
        form = EmailForm(request.POST)
        if form.is_valid():
            email = form.cleaned_data['email']
            if account_type == 'facebook':
                return facebook_login(request,
                                      next=redirect_to,
                                      confirmed=True,
                                      email=email,
                                      form_data=form.cleaned_data)
            if account_type == 'google':
                return google_login(request,
                                    next=redirect_to,
                                    confirmed=True,
                                    email=email)
            if account_type == 'twitter':
                return twitter_login(request,
                                     next=redirect_to,
                                     confirmed=True,
                                     email=email)
            if account_type == 'ted':
                provider = get_authentication_provider('ted')
                return provider.view(request, confirmed=True, email=email)
    else:
        initial = {}
        if email:
            initial['email'] = email
        openid_url = request.GET.get('openid_url', '')
        if openid_url:
            initial['url'] = openid_url
        form = EmailForm(initial=initial)
    return render_login(request,
                        CustomUserCreationForm(label_suffix=""),
                        AuthenticationForm(label_suffix=""),
                        redirect_to,
                        email_form=form,
                        confirm_type=account_type)