Esempio n. 1
0
def signup(request):
    if request.method == 'POST':
        form2 = ProfileForm(request.POST)
        form1 = SignUpForm(request.POST)
        if form1.is_valid() and form2.is_valid():
            # form1.save()

            # user = form1.save()
            # form2 = form2.save(commit=False)
            # form2.user = user
            # form2.save()

            user = form1.save(commit=False)
            user.is_active = False  # Deactivate account till it is confirmed
            user.save()
            form2 = form2.save(commit=False)
            form2.user = user
            form2.save()

            current_site = get_current_site(request)
            mail_subject = 'Activate your Ergo Life Account.'
            message = render_to_string(
                'account/email_confirmation_message.html', {
                    'user': user,
                    'domain': current_site.domain,
                    'uid': urlsafe_base64_encode(force_bytes(user.pk)),
                    'token': account_activation_token.make_token(user),
                })
            to_email = form1.cleaned_data.get('email')
            email = EmailMessage(mail_subject, message, to=[to_email])
            email.send()
            messages.success(request, (
                'Please Confirm your email to complete registration. You are able to login once your email gets verified'
            ))
            # return HttpResponse('Please confirm your email address to complete the registration')
            return redirect('/')
            # current_site = get_current_site(request)
            # subject = 'Activate Your ErgoLife Account'
            # message = render_to_string('account/email_confirmation_message.html', {
            #     'user': user,
            #     'domain': current_site.domain,
            #     'uid': urlsafe_base64_encode(force_bytes(user.pk)),
            #     'token': account_activation_token.make_token(user),
            # })
            # user.email_user(subject, message)
            # form2.save()
            # messages.success(request, ('Please Confirm your email to complete registration.'))

            # messages.success(request, f'Registration complete! You may log in!')
            # username = form1.cleaned_data.get('username')
            # raw_password = form1.cleaned_data.get('password1')
            # user = authenticate(username=username, password=raw_password)
            # login(request, user)

            # return redirect('home')
            # return redirect('/')
    else:
        form2 = ProfileForm()
        form1 = SignUpForm()
    return render(request, 'signup.html', {'form1': form1, 'form2': form2})