def register_social_login(request): data = wrap_data_accounts(request) email = request.session.get(SOCIAL_REGISTRATION_SETTING_EMAIL) data['email'] = email data.update(csrf(request)) success = False if request.method == 'POST': auth_form = SocialRegistrationAuthenticationForm(email, request.POST) if auth_form.is_valid(): user = auth_form.get_user() login(request, user) success = True else: for error in auth_form.non_field_errors(): data['errors'].append(error) auth_user = auth_form.get_user() if auth_user and not auth_user.is_active: data['errors'].append('Have you confirmed your email address yet? <a href="%s">Resend confirmation</a>.' % reverse('account_resend_confirmation')) else: auth_form = SocialRegistrationAuthenticationForm(email) if success: response = redirect_to_social_auth_complete(request) else: data['auth_form'] = auth_form response = _r('account/register_social_login.html', data) return response
def register_social_email(request): data = wrap_data_accounts(request) data.update(csrf(request)) email = None success = False if request.method == 'POST': email_form = SocialRegistrationEmailForm(request.POST) if email_form.is_valid(): email = email_form.save(request) success = True else: for error in email_form.non_field_errors(): data['errors'].append(error) else: email_form = SocialRegistrationEmailForm(None) if success: user = get_user_by_email(email) if user: # a user is already associated with this email response = redirect('account_register_social_login') else: response = redirect_to_social_auth_complete(request) else: data['email_form'] = email_form response = _r('account/register_social_email.html', data) return response