コード例 #1
0
    def post(self, request):
        form = SignupForm(request.POST, request.FILES)
        if form.is_valid():
            # Creating user and profile
            try:
                with transaction.atomic():
                    new_user = User.objects.create(
                        username=form.cleaned_data['login'],
                        password=make_password(form.cleaned_data['password']),
                        email=form.cleaned_data['email'],
                        avatar=form.cleaned_data['avatar'],
                        reg_date=datetime.datetime.now())
                    if new_user:
                        MailSender().send(new_user.email,
                                          'sign_up',
                                          context={"login": new_user.username})
                return HttpResponseRedirect('/signup/done/')
            except Exception as error:
                message = 'Error while adding new user: '******'Error while adding new user, check fields '

        return render(request, "index/signup.html", {
            "form": form,
            "message": message,
            "trends": Trend.get_trends()
        })
コード例 #2
0
def signup(request):
    form = SignupForm(data=request.POST)
    if form.is_valid():
        form.save(request=request)
        return redirect('/auth/sent')
    else:
        return render(request, 'user/signup.html', {'form': form})
コード例 #3
0
 def test_form_validation_for_password_mismatch(self):
     form = SignupForm(
         data={
             'email': '*****@*****.**',
             'password1': 'abcdef123',
             'password2': 'badcfe321'
         })
     self.assertFalse(form.is_valid())
     self.assertEqual(form.errors['password2'],
                      ['Les deux mots de passe ne correspondent pas.'])
コード例 #4
0
 def test_valid_form_send_mail(self, mock_get_current_site):
     form = SignupForm(
         data={
             'email': '*****@*****.**',
             'password1': 'GoodPassword1234',
             'password2': 'GoodPassword1234'
         })
     self.assertTrue(form.is_valid())
     form.save(self.request)
     self.assertEqual(len(mail.outbox), 1)
     sent_mail = mail.outbox[0]
     self.assertIn('*****@*****.**', sent_mail.body)
コード例 #5
0
ファイル: tests_forms.py プロジェクト: elwaze/Maieuclic
 def test_user_valid_signupform(self):
     """
     Tests if the user tries to create an account with valid values.
     """
     data = {
         'email': self.signup_email,
         'password': self.password,
         'pwd_confirm': self.password
     }
     form = SignupForm(data=data)
     self.assertTrue(form.is_valid())
     self.assertEqual(self.signup_email, form.clean_email())
     self.assertEqual(self.password, form.clean_pwd_confirm())
コード例 #6
0
 def test_valid_form_create_user(self, mock_get_current_site):
     form = SignupForm(
         data={
             'email': '*****@*****.**',
             'password1': 'GoodPassword1234',
             'password2': 'GoodPassword1234'
         })
     self.assertTrue(form.is_valid())
     form.save(self.request)
     self.assertEqual(Profile.objects.count(), 1)
     new_profile = Profile.objects.first()
     self.assertEqual(new_profile.email, '*****@*****.**')
     self.assertFalse(new_profile.is_active)
コード例 #7
0
 def test_form_validation_for_duplicate_inactive_user(self):
     self.user1 = baker.make(
         Profile,
         username='******',
         email='*****@*****.**',
         is_active=False,
     )
     form = SignupForm(
         data={
             'email': self.user1.email,
             'password1': 'GoodPassword1234',
             'password2': 'GoodPassword1234'
         })
     self.assertTrue(form.is_valid())
     self.assertEqual(len(form.errors), 0)
コード例 #8
0
 def test_form_validation_for_duplicate_active_user(self):
     self.user1 = baker.make(
         Profile,
         username='******',
         email='*****@*****.**',
         is_active=True,
     )
     form = SignupForm(
         data={
             'email': self.user1.email,
             'password1': 'GoodPassword1234',
             'password2': 'GoodPassword1234'
         })
     self.assertFalse(form.is_valid())
     self.assertEqual(form.errors['email'], [DUPLICATE_USER_ERROR])
コード例 #9
0
ファイル: views.py プロジェクト: budakadil1/hellgame-live
def signup_view(request):
    if request.method == 'POST':
        form = SignupForm(request.POST)
        if form.is_valid():
            form.save()
            email = form.cleaned_data.get('email')
            username = form.cleaned_data.get('username')
            raw_password = form.cleaned_data.get('password1')
            user = authenticate(email=email, password=raw_password)
            user_try_login = login(request, user)
            return redirect('accounts:index')
        else:
            messages.error(request, "Please check the fields.")
    else:
        form = SignupForm()
    context = {'form': form}
    return render(request, 'user/signup.html', context)
コード例 #10
0
def register(request):
    if request.method == "POST":
        form = SignupForm(data=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)
            messages.info(request, 'Registration successful!')
            messages.info(request, 'You can now login.')
            return redirect('home')
        else:
            messages.error(request, 'Registration failed!')
            messages.error(request, form.errors)
    context = {'form': SignupForm(), 'style': 'user.css'}
    return render(request, 'user/register.html', context)
コード例 #11
0
ファイル: auth.py プロジェクト: rafiulgits/cafe
def signup(request):
    if request.user.is_authenticated:
        return redirect('/')

    if request.method == 'POST':
        form = SignupForm(request.POST, request.FILES)
        if form.is_valid():
            user = form.save(commit=False)
            user.is_active = False
            user.save()
            verify_email(request, user)
            return HttpResponse(
                '<h1 align="center">Verify Your Email. Check Your Mailbox</h1>'
            )

    else:
        form = SignupForm()
    context = {'form': form}
    return render(request, 'user/auth/signup.html', context)
コード例 #12
0
ファイル: views.py プロジェクト: Firoms/Live_Soccer_Center
def signup_page(request):
    if request.method == "POST":
        form = SignupForm(request.POST)
        if form.is_valid():
            user_id = form.cleaned_data["ID"]
            if User.objects.filter(username=user_id).exists():
                messages.info(request, "이미 존재하는 유저이름입니다.")
            elif form.cleaned_data["PW"] != form.cleaned_data["PW_C"]:
                messages.info(request, "비밀번호가 서로 일치하지 않습니다.")
            else:
                user_pw = form.cleaned_data["PW"]
                first_name = form.cleaned_data["first_name"]
                add_list = User(username=user_id, first_name=first_name)
                add_list.set_password(user_pw)
                add_list.save()
                messages.info(request, "회원가입이 정상적으로 완료되었습니다.")
                return HttpResponseRedirect(reverse("post:index"))

    form = SignupForm()
    return render(request, "user/signup.html", {"form": form})
コード例 #13
0
ファイル: views.py プロジェクト: saninshakya/mathMOOC_py
def signup(request):
	try:
		args={}
		form = SignupForm()
		if request.method == 'POST':
			form = SignupForm(request.POST)

			if form.is_valid():
				cd = form.cleaned_data
				s_first_name = cd['first_name']
				s_last_name = cd['last_name']
				s_username = cd['username']
				s_password = '******'

				p_first_name = cd['p_first_name']
				p_last_name = cd['p_last_name']
				p_username = cd['p_username']
				p_email = cd['p_email']
				p_password = '******'

				result = User.objects.create_user(password=s_password, username=s_username, first_name=s_first_name, last_name=s_last_name, email = '*****@*****.**')
				rslt = User.objects.create_user(password=p_password, username=p_username, first_name=p_first_name, last_name=p_last_name, email =p_email)
				
				if rslt:
					stud_parent =  StudentParent.objects.create(parent_id=rslt.id, student_id=result.id)
					messages.add_message(request, messages.INFO, "Welcome, You are Registered Successfully.")
					return HttpResponseRedirect('/test/')	
				else:
					messages.add_message(request, messages.ERROR, "Error occured during registration. Please Try Again.")
					return render(request, 'user/signup.html')
			else:
				args['form'] = form	
				return render(request, 'user/signup.html', args)
		else:
			return render(request, 'user/signup.html', {'form':form})
	except:
		messages.add_message(request, messages.ERROR, sys.exc_info()[1])
	return render(request, 'user/signup.html', {'form':form})			
コード例 #14
0
def Signup(request):
    if request.method == 'POST':
        form = SignupForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data.get('username')
            email = form.cleaned_data.get('email')
            first_name = form.cleaned_data.get('first_name')
            last_name = form.cleaned_data.get('last_name')
            password = form.cleaned_data.get('password')
            User.objects.create_user(username=username,
                                     email=email,
                                     first_name=first_name,
                                     last_name=last_name,
                                     password=password)
            return redirect('login')
    else:
        form = SignupForm()

    context = {
        'form': form,
    }

    return render(request, 'auth/signup.html', context)
コード例 #15
0
ファイル: views.py プロジェクト: KeeperNight/Itachi
def user_signup(request):
    if request.method == 'POST':
        form = SignupForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data.get('username')
            fname = form.cleaned_data.get('fname')
            lname = form.cleaned_data.get('lname')
            password = form.cleaned_data.get('password').encode("utf-8")
            conf_password = form.cleaned_data.get('confirm_password').encode(
                "utf-8")
            #checking if two passwords from form are matching or not
            if password == conf_password:
                #checking if any user exists with same username
                if User.objects.filter(username=username).exists():
                    messages.info(request, f'Username exists')
                    return redirect('user_signup')
                #else we go with hashing password
                else:
                    #Password Hashing
                    hashed_password = bcrypt.hashpw(password, bcrypt.gensalt())
                    #create user with create and assigning form values to model
                    u = User.objects.create(username=username,
                                            fname=fname,
                                            lname=lname,
                                            password=hashed_password)
                    #saving the data to database and committing it
                    u.save()
                    #after save we redirect user to home and render books favourited by user
                    return redirect('user_home')
                    messages.success(request,
                                     f'Account created for { username}!')
            else:
                messages.error(request, f'passwords mismatch', 'warning')
    else:
        form = SignupForm()
    return render(request, 'user/user_signup.html', {'form': form})
コード例 #16
0
 def test_form_validation_for_blank_email(self):
     form = SignupForm(data={'email': ''})
     self.assertFalse(form.is_valid())
     self.assertEqual(form.errors['email'], [EMPTY_EMAIL_ERROR])