Example #1
0
 def create(self, request, *args, **kwargs):
     form = UserRegistrationForm(data=json.loads(request.body))
     if form.is_valid():  # Check form data
         form.save()
         return Response(status=HTTP_201_CREATED)
     else:
         return Response(data=form.errors, status=HTTP_400_BAD_REQUEST)
Example #2
0
def register(request):
    if request.user.is_authenticated():
        return redirect("users.views.profile")
    
    if request.POST:
        creation_form = UserCreationForm(request.POST)
        profile_form = UserRegistrationForm(request.POST)
        
        if creation_form.is_valid() and profile_form.is_valid():
            
            assert creation_form.cleaned_data.get("password1") == creation_form.cleaned_data.get("password2")
            
            new_user = creation_form.save(commit = False)
            new_profile = profile_form.save(commit = False)

            new_user.save()
            new_profile.user = new_user
            new_profile.save()
            
            return login(request)
    else:
        creation_form = UserCreationForm()
        profile_form = UserRegistrationForm()
    return render(request, "register.html", {
                                             "creation_form": creation_form,
                                             "profile_form": profile_form
                                             })
Example #3
0
 def test_UserRegistrationForm_invalid_email(self,
                                             UserRegistrationForm_data):
     UserRegistrationForm_data['email'] = 'inavlid_email'
     form = UserRegistrationForm(data=UserRegistrationForm_data)
     assert not form.is_valid()
     with pytest.raises(ValueError):
         form.save()
Example #4
0
 def test_UserRegistrationForm_invalid_password_does_not_match(
         self, UserRegistrationForm_data):
     UserRegistrationForm_data['password1'] = 'first-password'
     UserRegistrationForm_data['password2'] = 'second-password'
     form = UserRegistrationForm(data=UserRegistrationForm_data)
     assert not form.is_valid()
     with pytest.raises(ValueError):
         form.save()
Example #5
0
 def test_invalid_password_confirm_field(self):
     form_data = {
         'username': USERNAME,
         'email': EMAIL,
         'password': PASSWORD,
         'password_confirm': 'qwerty'
     }
     form = UserRegistrationForm(data=form_data)
     self.assertFalse(form.is_valid())
Example #6
0
    def test_user_registration_form_valid_data(self):
        form = UserRegistrationForm(data={
            'username': '******',
            'email': '*****@*****.**',
            'password1': 'gamekhelbo',
            'password2': 'gamekhelbo'
        })

        self.assertTrue(form.is_valid())
Example #7
0
    def post(self, request):
        form = UserRegistrationForm(request.POST)
        if form.is_valid():
            print('Valid data')
            # if username is not exsist
            form.save()
            return redirect('menu:home')

        return self.get(request)
Example #8
0
 def test_form_is_valid(self):
     form_data = {
         'username': USERNAME,
         'email': EMAIL,
         'password': PASSWORD,
         'password_confirm': PASSWORD
     }
     form = UserRegistrationForm(data=form_data)
     self.assertTrue(form.is_valid())
Example #9
0
    def test_UserRegistrationForm_invalid_password(self,
                                                   UserRegistrationForm_data):
        UserRegistrationForm_data['password1'] = 'password'
        UserRegistrationForm_data['password2'] = 'password'
        form = UserRegistrationForm(data=UserRegistrationForm_data)
        assert not form.is_valid()

        with pytest.raises(ValueError):
            form.save()
Example #10
0
    def test_user_registration_form_valid_data(self):
        form = UserRegistrationForm(data={
            'username': '******',
            'email': '*****@*****.**',
            'password1': 'TestPass1!',
            'password2': 'TestPass1!'
        })

        self.assertTrue(form.is_valid())
        print('user registration form valid data pass')
 def test_user_already_exists(self):
     data = {
         'email': '*****@*****.**',
         'password1': 'test123',
         'password2': 'test123',
     }
     form = UserRegistrationForm(data)
     self.assertFalse(form.is_valid())
     self.assertEqual(form['email'].errors,
                      ['Пользователь с таким емайл уже зарегестрирован.'])
Example #12
0
 def post(self, request):
     #post请求将执行这个函数
     user_form = UserRegistrationForm(request.POST)
     if user_form.is_valid():
         cd = user_form.cleaned_data
         new_user = user_form.save(commit=False)
         new_user.set_password(cd["password"])
         new_user.save()
         return render(request, 'users/register_done.html',
                       {"new_user": new_user})
     return HttpResponse("注册失败")
     """
Example #13
0
    def test_user_registration_form_clean_methods(self):
        """
        Test form clean methods.
        """
        form = UserRegistrationForm(data=self.data)

        # instantiate form.is_valid() in order to run clean methods.
        form.is_valid()

        assert 'testpassword0004' in form.clean_password(), 'Returns password.'
        assert 'testpassword0004' in form.cleaned_data.get(
            'password'), 'Returns password if found in cleaned_data'
Example #14
0
 def test_user_registration_password_field_match_validation(self):
     form = UserRegistrationForm(
         data={
             'first_name': self.user.first_name,
             'last_name': self.user.last_name,
             'email': '*****@*****.**',
             'password': '******',
             'confirm_password': '******',
             'acct_type': 'IND',
             'toc': True,
         })
     assert form.non_field_errors() == [
         "Passwords don't match. Please check and try again."
     ], 'Returns validation error for matching pass/cofirm_pass'
Example #15
0
def register_view(request):
    form = UserRegistrationForm(request.POST or None)
    if form.is_valid():
        user = form.save()
        profile = Profile.objects.create(user=user)
        Character.objects.create(profile=profile,
                                 first_name=FirstName.objects.create(
                                     form=user.username.replace('_', ' ')))
        messages.info(request,
                      f'Utworzono konto dla {user.username}! Zaloguj się!')
        return redirect('users:login')

    context = {'page_title': 'Utwórz profil', 'form': form}
    return render(request, 'users/register.html', context)
 def test_user_save(self):
     data = {
         'email': '*****@*****.**',
         'password1': 'sbAB35EHR-*/',
         'password2': 'sbAB35EHR-*/',
         'first_name': 'Иван',
         'last_name': 'Иванов',
     }
     form = UserRegistrationForm(data)
     self.assertTrue(form.is_valid())
     self.assertEqual(form.instance.email, '*****@*****.**')
     form.save()
     self.assertEqual(
         User.objects.get(id=form.instance.id).email, '*****@*****.**')
Example #17
0
def test_register_user_form(correo_1, correo_2, password_1, password_2,
                            is_valid):
    comuna = baker.make("geo.Comuna")
    data = {
        "nombre": "Testman",
        "apellido": "Sanchez",
        "correo_1": correo_1,
        "correo_2": correo_2,
        "password_1": password_1,
        "password_2": password_2,
        "rut": "19136636",
        "numero_serie_carnet": "123456789",
        "comuna": comuna,
    }
    form = UserRegistrationForm(data=data)
    assert form.is_valid() == is_valid
Example #18
0
 def test_user_registration_form_is_valid(self):
     """
     Test .is_valid() of form.
     """
     # Test will fail without hard coded kwargs
     form = UserRegistrationForm(
         data={
             'first_name': self.user.first_name,
             'last_name': self.user.last_name,
             'email': '*****@*****.**',
             'password': '******',
             'confirm_password': '******',
             'acct_type': 'IND',
             'toc': True,
         })
     assert form.is_valid() == True, 'Returns True if form is valid.'
Example #19
0
 def test_user_registration_password_field_validation_error(self):
     """
     Test form password length validation.
     """
     form = UserRegistrationForm(
         data={
             'first_name': self.user.first_name,
             'last_name': self.user.last_name,
             'email': '*****@*****.**',
             'password': '******',
             'confirm_password': '******',
             'acct_type': 'IND',
             'toc': True,
         })
     assert form.has_error(
         'password', code='password_short'
     ) == True, 'Returns True if length validation error.'
Example #20
0
def registration(request):
    if request.user.is_authenticated:
        return redirect('index')

    if request.method == 'POST':

        # map the submitted form to the UserRegistrationForm
        form = UserRegistrationForm(request.POST)
        if form.is_valid():
            form.save()

            # log in the user immediately with given name
            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('index')

        else:
            return render(request=request,
                          template_name="users/registration.html",
                          context={"form": form})

    # GET Request
    form = UserRegistrationForm()
    return render(request=request,
                  template_name="users/registration.html",
                  context={"form": form})
Example #21
0
def register_customer(request):

    if request.method == "POST":
        user_form = UserRegistrationForm(request.POST)
        customer_form = CustomerProfileForm(request.POST, request.FILES)

        if user_form.is_valid() and customer_form.is_valid():
            user_form.save()

            username = user_form.cleaned_data["username"]
            pwd = user_form.cleaned_data["password1"]

            auth_user = authenticate(username=username, password=pwd)
            login(request, auth_user)

            customer = customer_form.instance
            customer.user = auth_user
            customer.email = auth_user.email
            customer.save()

            messages.success(request, f'Welcome to Bistro! Happy Fooding!')

            return redirect('customer_dashboard')
    else:
        user_form = UserRegistrationForm()
        customer_form = CustomerProfileForm()

    context = {'uform': user_form, 'cform': customer_form}

    return render(request, 'users/register_customer.htm', context)
Example #22
0
def register_staff(request):

    if request.method == "POST":
        user_form = UserRegistrationForm(request.POST)
        staff_form = StaffProfileForm(request.POST, request.FILES)

        if user_form.is_valid() and staff_form.is_valid():
            user_form.save()

            user = user_form.instance
            user.is_superuser = True
            user.is_staff = True
            user.save()

            #auth_user = authenticate(username=username, password=pwd)
            #login(request, auth_user)

            staff = staff_form.instance
            staff.user = user
            staff.email = user.email
            staff.save()

            return redirect('staff_dashboard')
    else:
        user_form = UserRegistrationForm()
        staff_form = StaffProfileForm()

    context = {'uform': user_form, 'cform': staff_form}

    return render(request, 'users/register_staff.htm', context)
Example #23
0
    def test_user_registration_form_is_bound(self):
        """
        Test if form is bound by passed data.
        """
        self.form = UserRegistrationForm(data={})

        # As per Django documentation, the data={} will return True even if no
        # kwargs passed.
        assert self.form.is_bound == True, 'Returns True if form is bound by data.'
Example #24
0
    def test_user_registration_form_errors(self, client):
        """
        Test form errors.
        """
        self.form = UserRegistrationForm(data={})

        assert 'This field is required.' in self.form[
            'first_name'].errors, 'Reports error on form field.'
        assert 'This field is required.' in self.form[
            'email'].errors, 'Reports error on form field.'
Example #25
0
def UserRegisterView(request):
    if request.method == 'POST':
        form = UserRegistrationForm(request.POST)
        if form.is_valid():
            form.save()
            return redirect('landing-page')
    else:
        form = UserRegistrationForm()
    return render(request, 'users/register.html', {'form': form})
Example #26
0
def register_view(request):
    if request.user.is_authenticated:
        return redirect("home")
    else:
        title = "Create an Account"
        form = UserRegistrationForm(request.POST or None, request.FILES
                                    or None)

        if form.is_valid():
            user = form.save(commit=False)
            password = form.cleaned_data.get("password1")
            user.set_password(password)
            user.save()
            new_user = authenticate(email=user.email, password=password)
            login(request, new_user)

            return HttpResponseRedirect(reverse('home_page'))

        context = {"title": title, "form": form}

        return render(request, "users/form.html", context)
Example #27
0
 def post(self, request, *args, **kwargs):
     user_form = UserRegistrationForm(request.POST)
     profile_form = ProfileForm(request.POST)
     if DjangoUser.objects.filter(username=request.POST['username']).exists():
         messages.error(request, 'The user with this username already exists')
     elif user_form.is_valid() and profile_form.is_valid():
         new_user = user_form.save(commit=False)
         new_user.set_password(user_form.cleaned_data['password'])
         profile = Profile(user=new_user,
                           date_of_birth=profile_form.cleaned_data['date_of_birth'])
         if request.FILES:
             profile.photo = request.FILES['photo']
         new_user.save()
         profile.save()
         login(request, new_user)
         return redirect('blogs:posts')
     else:
         messages.error(request, 'Data is not valid.')
     self.context['user_form'] = user_form
     self.context['profile_form'] = profile_form
     return render(request, 'users/register.html', self.context)
Example #28
0
def global_context(request):
    context = {}
    context['main_arguments'] = ActionCategory.objects.all()
    context['main_locations'] = Geoname.objects.all()
    context['LESS_DEBUG'] = settings.LESS_DEBUG
    context['LOGIN_URL'] = settings.LOGIN_URL
    context['LOGOUT_URL'] = settings.LOGOUT_URL

    if not request.user.is_authenticated():
        context['registration_form'] = UserRegistrationForm()

    return context
Example #29
0
def register(request):
    if request.method=='POST':
        form = UserRegistrationForm(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 blog account.'
            message = render_to_string('acc_active_email.html', {
                'user': user,
                'domain': current_site.domain,
                'uid':urlsafe_base64_encode(force_bytes(user.pk)).decode(),
                'token':account_activation_token.make_token(user),
            })

            to_email = form.cleaned_data.get('email')
            email = EmailMessage(
                        mail_subject, message, to=[to_email]
            )
            email.send()

            print(get_current_site(request))
            # username = form.cleaned_data.get('username')
            messages.success(request,f'Please confirm your email address to complete the registration')
            return redirect('login')
    else:
        form = UserRegistrationForm()
        
    return render(request,'users/register.html',{'form':form})
Example #30
0
def create_user_acccount(request):
    if request.method == 'POST':
        form = UserRegistrationForm(request.POST)
        if form.is_valid():
            new_user = form.save(commit=False)
            new_user.password = make_password(form.cleaned_data['password'])
            new_user.username = form.instance.generic_username()
            new_user.save()
            try:
                user = User.objects.get(email__exact=form.instance.email)
                token = default_token_generator.make_token(user)
                if user:
                    confirm_account_link(user,
                                         form.instance.email,
                                         token,
                                         request=request)
                    return HttpResponseRedirect(
                        reverse('users:activation-sent'))
            except User.DoesNotExist:
                return HttpResponseRedirect(reverse('users:index'))
            return HttpResponseRedirect(reverse('users:activation-sent'))
    else:
        form = UserRegistrationForm()

    context = {
        'form': form,
    }
    return render(request, 'users/registration.html', context)
Example #31
0
def register(request):
    error = 'None'
    if request.method == 'POST':
        user_form = UserRegistrationForm(request.POST)
        if user_form.is_valid():
            ''' Begin reCAPTCHA validation '''
            recaptcha_response = request.POST.get('g-recaptcha-response')
            url = 'https://www.google.com/recaptcha/api/siteverify'
            values = {
                'secret': settings.GOOGLE_RECAPTCHA_SECRET_KEY,
                'response': recaptcha_response
            }
            data = urllib.parse.urlencode(values).encode()
            req = urllib.request.Request(url, data=data)
            response = urllib.request.urlopen(req)
            result = json.loads(response.read().decode())
            ''' End reCAPTCHA validation '''

            if result['success']:
                # Create a new user object but avoid saving it yet
                new_user = user_form.save(commit=False)
                # Set the chosen password
                new_user.set_password(user_form.cleaned_data['password'])
                # Save the User object
                new_user.save()
                return render(request, 'users/register_done.html', {'new_user': new_user})
            else:
                error = 'Invalid Captha'
    else:
        user_form = UserRegistrationForm()
    context = {
        'user_form': user_form,
        'error': error,
    }
    return render(request, 'users/register.html', context)