Beispiel #1
0
def signup(request):
    """User registration view.

    **Context**

    ``form``
        An instance of UserCreationForm.

    **Template:**

    :template:`users/signup.html`
    """
    if request.method == 'POST':
        form = UserCreationForm(request.POST)
        if form.is_valid():
            email = form.cleaned_data['email']
            password = form.cleaned_data['password1']
            data = {
                'timezone': form.cleaned_data['timezone'] or 'UTC',
                'username': form.cleaned_data['username'],
            }
            user = User.objects.create_user(email=email,
                                            password=password,
                                            **data)
            signin(request, user)
            return HttpResponseRedirect('/')
    else:
        form = UserCreationForm()
    context = {'form': form}
    return render(request, 'users/signup.html', context)
Beispiel #2
0
    def test_clean_username(self):
        # A user with proto_user params does not exist yet.
        proto_user = UserFactory.build()

        form = UserCreationForm(
            {
                "username": proto_user.username,
                "password1": proto_user._password,
                "password2": proto_user._password,
            }
        )

        assert form.is_valid()
        assert form.clean_username() == proto_user.username

        # Creating a user.
        form.save()

        # The user with proto_user params already exists,
        # hence cannot be created.
        form = UserCreationForm(
            {
                "username": proto_user.username,
                "password1": proto_user._password,
                "password2": proto_user._password,
            }
        )

        assert not form.is_valid()
        assert len(form.errors) == 1
        assert "username" in form.errors
Beispiel #3
0
def register(request):
    if request.method == 'POST':
        form = UserCreationForm(request.POST)
        if form.is_valid():
            form.save()
            user = form.instance
            user.email = form.cleaned_data['email']

            #add user to group Users
            user.groups.add(Group.objects.get(name='Users'))

            user.save()

            #p = user.get_profile()
            p = UserProfile()
            p.user = user
            #cleaned_data value is available as unicode string
            p.gender = form.cleaned_data['gender'] == 'True'
            p.save()

            #login user - after saving user object, password contains just hash,
            #that's why we use the original password from the form
            user = authenticate(username=user.username,
                                password=form.clean_password2())

            if user:
                login(request, user)

            return HttpResponseRedirect(reverse('home'))
    else:
        form = UserCreationForm()

    return render_to_response('auth/register.html', {'form': form},
                              context_instance=RequestContext(request))
Beispiel #4
0
def register(request):
    if request.method == 'POST':
        form = UserCreationForm(request.POST)
        if form.is_valid():
            form.save()
            return redirect('book-list')
    else:
        form = UserCreationForm()
    return render(request, 'registration/register.html', {'form': form})
Beispiel #5
0
def registration(request):
    if request.GET.get('ref') is not None:
        print(request.GET.get('ref'))
    if request.method == 'POST':
        form = UserCreationForm(request.POST)
        if form.is_valid():
            user = form.save(referal=request.GET.get('ref'))
            login(request, user)
            return redirect('users:documents')
    else:
        form = UserCreationForm()
    return render(request, 'registration/registration.html', {'form': form})
Beispiel #6
0
def register_view(request):
    if request.method != 'POST':
        form = UserCreationForm()
    else:
        form = UserCreationForm(data=request.POST)

        if form.create(request):
            return redirect('home')

    # Render
    context = regular_context(request.user)
    context['form'] = form
    return render(request, 'register.html', context)
def signup(request):
    if request.method == 'POST':
        form = UserCreationForm(request.POST)
        if form.is_valid():
            form.save()
            username = form.cleaned_data.get('username')
            raw_password = form.cleaned_data.get('password1')
            user = authenticate(username=username, password=raw_password)
            login(request, user)
            return redirect('landingpage')
    else:
        form = UserCreationForm()
    return render(request, 'signup.html', {'form': form})
Beispiel #8
0
def create_user_account(request):
    if request.method == 'POST':
        form = UserCreationForm(request.POST)
        if form.is_valid():
            form.save()
            primary_email = form.cleaned_data['primary_email']
            password = form.cleaned_data['password1']

            user = authenticate(username=primary_email, password=password)
            login(request, user)
            return redirect('/')
    else:
        form = UserCreationForm()

    return render(request, 'users/create_user_account.html', {'form': form})
Beispiel #9
0
    def post(self, request, invitation_hash):
        signup_invitation = self.get_invitation(request, invitation_hash)
        if not signup_invitation:
            return render(request, 'registration/invalid_signup.html',
                          {'hash': invitation_hash})

        form = UserCreationForm(request.POST)

        if request.POST.get("email") != signup_invitation.email_invited:
            messages.error(
                request, "You must sign up with the invited email: {}".format(
                    signup_invitation.email_invited))
            return render(
                request, self.template_name, {
                    'form': form,
                    'categories': Category.objects.all(),
                    'invitation': signup_invitation
                })

        if form.is_valid():
            form.save(chosen_categories=request.POST.getlist('categories'),
                      signup_invitation=signup_invitation)
            user = authenticate(username=form.cleaned_data.get('username'),
                                password=form.cleaned_data.get('password1'))
            login(request, user)

            return redirect(self.redirect_to)
Beispiel #10
0
    def test_form_with_valid_data(self):
        form = UserCreationForm(self.data)
        self.assertTrue(form.is_valid())

        form.save()
        self.assertEqual(
            User.objects.all().filter(email=self.data['email']).count(), 1)
 def test_create_icase_duplicate(self):
     """Ensure email validation is case insensitive"""
     form = UserCreationForm(data={
         'email': '*****@*****.**',
         'password1': 'new',
         'password2': 'new',
     })
     self.assertFalse(form.is_valid())
 def test_create_duplicate(self):
     """Ensure an existing email address results in an error"""
     form = UserCreationForm(data={
         'email': '*****@*****.**',
         'password1': 'new',
         'password2': 'new',
     })
     self.assertFalse(form.is_valid())
 def test_create_unique(self):
     """Ensure basic data validates"""
     form = UserCreationForm(data={
         'email': '*****@*****.**',
         'password1': 'pass',
         'password2': 'pass',
     })
     self.assertTrue(form.is_valid())
Beispiel #14
0
 def post(self, request):
     form = UserCreationForm(request.POST)
     if form.is_valid():
         form.save()
         messages.success(
             request,
             f'Your account has been created! You are now able to log in')
         return redirect('blog-home')
Beispiel #15
0
 def test_password2_matches_passwords1(self):
     form = UserCreationForm(data={
         'username': '******',
         'email': '*****@*****.**',
         'password1': 'hellotest1',
         'password2': 'hellotestdiff',
         'phone':'1234'
     },instance = CustomUser.objects.create(username = '******', email = '*****@*****.**', phone='23456'))
     self.assertFalse(form.is_valid())
Beispiel #16
0
 def test_userCreationForm_valid(self):
     form = UserCreationForm(data={
         'username': '******',
         'email': '*****@*****.**',
         'password1': 'hellotest1',
         'password2': 'hellotest1',
         'phone':'123'
     },instance = CustomUser.objects.create(username = '******', email = '*****@*****.**', phone='123345'))
     self.assertTrue(form.is_valid())
Beispiel #17
0
 def test_invalid_email(self):
     data = {
         'email': 'testuser',
         'password1': 'Pa$sw0rd',
         'password2': 'Pa$sw0rd',
     }
     form = UserCreationForm(data)
     self.assertFalse(form.is_valid())
     self.assertIn(_('Enter a valid email address.'), form['email'].errors)
Beispiel #18
0
 def test_if_email_unique(self):
     form = UserCreationForm(data={
         'username': '******',
         'email': '*****@*****.**',
         'password1': 'Password1',
         'password2': 'Password1',
         'phone':'12345'
     },instance = CustomUser.objects.create(username = '******', email = '*****@*****.**', phone='123455'))
     self.assertTrue(form.is_valid())
Beispiel #19
0
 def test_invalid_noPwd(self):
     #test for no password
     data = {
         'first_name': 'valid',
         'last_name': 'user',
         'email': '*****@*****.**'
     }
     form = UserCreationForm(data)
     self.assertFalse(form.is_valid())
Beispiel #20
0
 def test_invalid_noEmail(self):
     #test for no email
     data = {
         'first_name': 'valid',
         'last_name': 'user',
         'password1': 'Testcasepwd',
         'password2': 'Testcasepwd'
     }
     form = UserCreationForm(data)
     self.assertFalse(form.is_valid())
Beispiel #21
0
def valid_user_creation_form(db):
    return UserCreationForm(
        data={
            'email': '*****@*****.**',
            'first_name': 'first',
            'last_name': 'last',
            'birth_date': '1900-1-1',
            'password1': 'pass123word',
            'password2': 'pass123word',
        })
Beispiel #22
0
 def test_valid_noFirstLast(self):
     #tests for valid -- no first and last
     data = {
         'username': '******',
         'email': '*****@*****.**',
         'password1': 'Testcasepwd',
         'password2': 'Testcasepwd'
     }
     form = UserCreationForm(data=data)
     self.assertTrue(form.is_valid())
Beispiel #23
0
 def test_mismatching_passwords(self):
     form = UserCreationForm(
         data={
             'email': '*****@*****.**',
             'username': '******',
             'password1': 'MISMATCHING_PASSWORDS',
             'password2': 'mismatching_passwords'
         })
     self.assertFalse(form.is_valid())
     self.assertTrue('password2' not in form.clean())
Beispiel #24
0
 def test_password_is_not_saved_raw(self):
     raw_password = '******'
     data = {
         'email': '*****@*****.**',
         'password1': raw_password,
         'password2': raw_password,
     }
     form = UserCreationForm(data)
     user = form.save()
     self.assertNotEqual(raw_password, user.password)
Beispiel #25
0
def signup(request):
    if request.method == "POST":

        user = User()
        userForm = UserCreationForm(request.POST, instance=user)
        if userForm.is_valid():
            userData = userForm.cleaned_data
            user.username = userData['username']
            user.set_password(userData['password1'])
            userForm.save()

            user_auth = authenticate(username=userData['username'], password=userData['password1'])
            auth_login(request, user_auth)

            return redirect("/users/images/index")

        return render(request, template_name="users/register.html",
                      context={"userForm": userForm})

    return render(request, template_name="users/register.html", context={"userForm": UserCreationForm()})
Beispiel #26
0
 def test_password_missmatch(self):
     """Check that a form with different passwords is not valid."""
     data = {
         'username': '******',
         'email': '*****@*****.**',
         'password1': 'test1',
         'password2': 'test2'
     }
     form = UserCreationForm(data)
     self.assertFalse(form.is_valid())
     self.assertTrue('password2' in form.errors)
Beispiel #27
0
def user_new(request):
    if request.method == 'POST':
        form = UserCreationForm(request.POST)
        if form.is_valid():
            form.save(verify_email_address=True, request=request)
            messages.add_message(
                request, messages.INFO,
                _("An email has been sent to you. Please "
                  "check it to veiry your email."))
            return HttpResponseRedirect('/')
    else:
        form = UserCreationForm()

    context = {
        'form': form,
    }

    return render_to_response('accounts/user_new.html',
                              context,
                              context_instance=RequestContext(request))
Beispiel #28
0
 def test_bad_username_provided(self):
     for unsupported_char in """\/!?@#$%^&*()[]{}<>=+~|:;"'""":
         form = UserCreationForm(
             data={
                 'email': '*****@*****.**',
                 'username': '******' + unsupported_char,
                 'password1': 'A_VERY-$trong.p@assworD',
                 'password2': 'A_VERY-$trong.p@assworD'
             })
         self.assertFalse(form.is_valid())
         self.assertTrue('username' not in form.clean())
Beispiel #29
0
 def test_invalid_noUser(self):
     #test for no username
     data = {
         'first_name': 'valid',
         'last_name': 'user',
         'password1': 'Testcasepwd',
         'password2': 'Testcasepwd',
         'email': '*****@*****.**'
     }
     form = UserCreationForm(data)
     self.assertFalse(form.is_valid())
Beispiel #30
0
def register_seeker(request):
    if request.method == 'POST':
        user_creation_form = UserCreationForm(request.POST)
        seeker_creation_form = SeekerCreationForm(request.POST)
        hobby_update_form = HobbyForm(request.POST)
        qualities_form = QualitiesForm(request.POST)

        if seeker_creation_form.is_valid() and user_creation_form.is_valid():

            new_base_user = user_creation_form.save(commit=False)
            seeker_profile = seeker_creation_form.save(commit=False)
            hobby_update_form = HobbyForm(request.POST, instance=new_base_user)
            qualities_form = QualitiesForm(request.POST,
                                           instance=new_base_user)

            if hobby_update_form.is_valid() and qualities_form.is_valid():
                new_base_user.save()
                seeker_profile.base_user = new_base_user
                seeker_profile.save()
                hobby_update_form.save(commit=True)
                qualities_form.save(commit=True)
                messages.success(
                    request,
                    f"Seeker profile {new_base_user} created successfully! You can log in now."
                )
                return redirect('login')
            else:
                hobby_update_form = HobbyForm(request.POST)
                qualities_form = QualitiesForm(request.POST)
    else:
        user_creation_form = UserCreationForm()
        seeker_creation_form = SeekerCreationForm()
        hobby_update_form = HobbyForm()
        qualities_form = QualitiesForm()
    return render(
        request, 'seekers/seeker_register.html', {
            "uform": user_creation_form,
            "sform": seeker_creation_form,
            "hform": hobby_update_form,
            "qform": qualities_form,
        })