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))
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))
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))