Пример #1
0
def signup(request):
    if request.user is not None and request.user.is_authenticated:
        return redirect('/?su=li')
    if request.method == 'POST':
        emailForm = EmailForm(request.POST)
        if emailForm.is_valid():
            try:
                u = User.objects.get(email=emailForm.cleaned_data['email'])
            except User.DoesNotExist:
                u = None
            if u and not u.is_active:
                u.delete()

        form = UserCreationForm(request.POST)
        if form.is_valid():
            form.is_valid()
            user = form.save(commit=False)
            user.is_active = False

            uvid = genVID(user.email)
            ip = getIP(request)
            user.save()
            user.profile.ip = ip
            user.profile.vid = uvid
            user.save()

            # Verification email
            subj = 'Verification of email address - NISER Archive'
            dmn = get_current_site(request).domain
            htm = render_to_string('main/verify.htm', {
                'user': user,
                'vid': uvid,
                'dmn': dmn
            })
            txt = render_to_string('main/verify.txt', {
                'user': user,
                'vid': uvid,
                'dmn': dmn
            })
            mfrom = 'NISER Archive'
            mto = user.email
            msg = EmailMultiAlternatives(subj, txt, mfrom, [mto])
            #msg.attach_alternative(htm, 'text/html')
            msg.send()
            #send_mail(subj, txt, '*****@*****.**', [mto], html_message=htm)
            base_url = reverse('home')
            query_string = urlencode({'su': True})
            url = '{}?{}'.format(base_url, query_string)
            return redirect(url)
            #return HttpResponse('We have sent an email. Please confirm your email address to complete the registration')
    else:
        form = UserCreationForm()
    return render(request, 'main/signup.htm', {'form': form})
Пример #2
0
    def test_success(self):
        # The success case.
        data = {
            self.username: '******',
            'password1': 'test123',
            'password2': 'test123',
        }

        if settings.AUTH_USER_MODEL == 'authtools.User':
            data['name'] = 'John Smith'

        form = UserCreationForm(data)
        self.assertTrue(form.is_valid())
        u = form.save()
        self.assertEqual(getattr(u, self.username), '*****@*****.**')
        self.assertTrue(u.check_password('test123'))
        self.assertEqual(u, User._default_manager.get_by_natural_key('*****@*****.**'))
Пример #3
0
    def test_success(self):
        # The success case.
        data = {
            self.username: '******',
            'password1': 'test123',
            'password2': 'test123',
        }

        if settings.AUTH_USER_MODEL == 'authtools.User':
            data['name'] = 'John Smith'

        form = UserCreationForm(data)
        self.assertTrue(form.is_valid())
        u = form.save()
        self.assertEqual(getattr(u, self.username), '*****@*****.**')
        self.assertTrue(u.check_password('test123'))
        self.assertEqual(
            u, User._default_manager.get_by_natural_key('*****@*****.**'))