def signup(request):
    if request.method == 'POST':
        form = SignupForm(request.POST)
        if form.is_valid():
            user = form.save(commit=False)
            user.is_active = False
            user.save()
            current_site = get_current_site(request)
            mail_subject = 'Activate your account.'
            message = render_to_string(
                'account_active_email.html', {
                    'user': user,
                    'domain': current_site.domain,
                    'uid': urlsafe_base64_encode(force_bytes(user.pk)),
                    'token': account_activation_token.make_token(user),
                })
            to_email = form.cleaned_data.get('email')
            email = EmailMessage(mail_subject, message, to=[to_email])
            email.send()
            return HttpResponse(
                'Please confirm your email address to complete the registration'
            )
    else:
        form = SignupForm()
    return render(request, 'signup.html', {'form': form})
Beispiel #2
0
def signup(request):
    if request.method == 'POST':
        form = SignupForm(request.POST)
        if form.is_valid():
            form.instance.username = form.instance.email
            form.save()
            raw_password = form.cleaned_data.get('password1')
            email = form.cleaned_data.get('email')
            user = authenticate(username=email, password=raw_password)
            login(request, user)
            return redirect(settings.LOGIN_REDIRECT_URL)
    else:
        form = SignupForm()
    return render(request, 'signup.html', {'form': form})
Beispiel #3
0
 def test_SignupForm_valid(self):
     form = SignupForm(data={'username': "******",
                             'email': "*****@*****.**",
                             'password1': "yarik123456789",
                             'password2': "yarik123456789"})
     self.assertTrue(form.is_valid())
     record = form.save()
     self.assertEqual(record.username, "John")
     self.assertEqual(record.email, "*****@*****.**")
Beispiel #4
0
 def test_required(self):
     form = SignupForm()
     form.process()
     self.assertFalse(form.validate())
     expected = {
         'email': [u'This field is required.'],
         'identity': [u'This field is required.'],
         'password': [u'This field is required.'],
         'terms': [u'This field is required.']
     }
     self.assertDictEqual(form.errors, expected)
Beispiel #5
0
 def test_UserForm_invalid(self):
     form = SignupForm(data={'username': '',
                             'email': "false",
                             'password1': "false",
                             'password2': 'password'})
     self.assertFalse(form.is_valid())