示例#1
0
def signup(request, **kwargs):
    if request.user.is_authenticated():
        return HttpResponseRedirect(reverse(connections))
    signup = request.session.get('socialaccount_signup')
    if not signup:
        return HttpResponseRedirect(reverse('account_login'))
    form_class = kwargs.pop("form_class", SignupForm)
    template_name = kwargs.pop("template_name", 'socialaccount/signup.html')
    data = signup['data']
    if request.method == "POST":
        form = form_class(request.POST)
        if form.is_valid():
            user = form.save(request=request)
            user.last_name = data.get('last_name', '')
            user.first_name = data.get('first_name', '')
            user.save()
            account = signup['account']
            account.user = user
            account.sync(data)
            return helpers.complete_social_signup(request, user, account)
    else:
        form = form_class(initial=data)
    dictionary = dict(site=Site.objects.get_current(),
                      account=signup['account'],
                      form=form)
    return render_to_response(template_name, dictionary, RequestContext(request))
示例#2
0
def signup(request, **kwargs):
    if request.user.is_authenticated():
        return HttpResponseRedirect(reverse(connections))
    signup = request.session.get('socialaccount_signup')
    if not signup:
        return HttpResponseRedirect(reverse('account_login'))
    form_class = kwargs.pop("form_class", SignupForm)
    template_name = kwargs.pop("template_name", 'socialaccount/signup.html')
    data = signup['data']
    if request.method == "POST":
        form = form_class(request.POST)
        if form.is_valid():
            user = form.save(request=request)
            user.last_name = data.get('last_name', '')
            user.first_name = data.get('first_name', '')
            user.save()
            account = signup['account']
            account.user = user
            account.sync(data)
            return helpers.complete_social_signup(request, user, account)
    else:
        form = form_class(initial=data)
    dictionary = dict(site=Site.objects.get_current(),
                      account=signup['account'],
                      form=form)
    return render_to_response(template_name, dictionary,
                              RequestContext(request))
示例#3
0
def signup(request, **kwargs):
    if request.user.is_authenticated():
        return HttpResponseRedirect(reverse(connections))
    sociallogin = request.session.get('socialaccount_sociallogin')
    if not sociallogin:
        return HttpResponseRedirect(reverse('account_login'))
    form_class = kwargs.pop("form_class", SignupForm)
    template_name = kwargs.pop("template_name", 'socialaccount/signup.html')
    if request.method == "POST":
        form = form_class(request.POST, sociallogin=sociallogin)
        hack = False
    else:
        # Weird hack, in order to validate the social auth information to see if we have everything we need, we need to create a fake POST dict.
        form = form_class(sociallogin=sociallogin, request=request)
        POST = {}
        for field in form.fields:
            POST[field] = form.fields[field].initial
        form = form_class(POST, sociallogin=sociallogin, request=request)
        hack = True

    # Weird hack, this should usually be in POST, but we don't care if we grab info straight from the socialauth,
    # if we have all the info we need, go for it!
    if form.is_valid():
        form.save(request=request)
        return helpers.complete_social_signup(request, sociallogin)
    elif hack:
        form = form_class(sociallogin=sociallogin, request=request)
    dictionary = dict(site=Site.objects.get_current(),
                      account=sociallogin.account,
                      form=form)
    return render_to_response(template_name, dictionary,
                              RequestContext(request))
示例#4
0
def signup(request, **kwargs):
    if request.user.is_authenticated():
        return HttpResponseRedirect(reverse(connections))
    sociallogin = request.session.get('socialaccount_sociallogin')
    if not sociallogin:
        return HttpResponseRedirect(reverse('account_login'))
    form_class = kwargs.pop("form_class", SignupForm)
    template_name = kwargs.pop("template_name", 'socialaccount/signup.html')
    if request.method == "POST":
        form = form_class(request.POST, sociallogin=sociallogin)
        if form.is_valid():
            form.save(request=request)
            return helpers.complete_social_signup(request, sociallogin)
    else:
        form = form_class(sociallogin=sociallogin)
    dictionary = dict(site=Site.objects.get_current(),
                      account=sociallogin.account,
                      form=form)
    return render_to_response(template_name, dictionary, 
                              RequestContext(request))
示例#5
0
def signup(request, **kwargs):
    if request.user.is_authenticated():
        return HttpResponseRedirect(reverse(connections))
    sociallogin = request.session.get('socialaccount_sociallogin')
    if not sociallogin:
        return HttpResponseRedirect(reverse('account_login'))
    form_class = kwargs.pop("form_class", SignupForm)
    template_name = kwargs.pop("template_name", 'socialaccount/signup.html')
    if request.method == "POST":
        form = form_class(request.POST, sociallogin=sociallogin)
        if form.is_valid():
            form.save(request=request)
            return helpers.complete_social_signup(request, sociallogin)
    else:
        form = form_class(sociallogin=sociallogin)
    dictionary = dict(site=Site.objects.get_current(),
                      account=sociallogin.account,
                      form=form)
    return render_to_response(template_name, dictionary,
                              RequestContext(request))