Beispiel #1
0
def sign_up(request):
    resend_email = request.GET.get('resend')
    if resend_email:
        user = get_object_or_404(User, email=resend_email)
        send_email(request, user, resend_email)
        context = {
            'email': resend_email,
            'resend': True
        }
        return render(request, 'accounts/complete_sign_up.html', context)
    if request.method == 'POST':
        form = UserCreateForm(request.POST)
        if form.is_valid():
            user = form.save(commit=False)
            is_email_exist = User.objects.filter(email=user.email).exists()
            if is_email_exist:
                form.add_error('email', 'This email is already taken!')
                return render(request, 'accounts/register.html', {'form': form})
            user.is_active = False
            user.save()
            email = form.cleaned_data.get('email')
            user_profile = UserProfileInfo(user=user)
            user_profile.save()
            send_email(request, user, email)
            return render(request, 'accounts/complete_sign_up.html', {'email': email})
    else:
        form = UserCreateForm()
    return render(request, 'accounts/register.html', {'form': form})