Exemplo n.º 1
0
 def setUp(self):
     app.config['SECRET_KEY'] = '08424fa094ead1b004ff459bbd6e2750'
     app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///test.db'
     self.app = app.test_client()
     db.create_all()
     hashed_password = bcrypt.generate_password_hash('12345').decode(
         'utf-8')
     u1 = User(username='******',
               email='*****@*****.**',
               password=hashed_password)
     u2 = User(username='******',
               email='*****@*****.**',
               password=hashed_password)
     db.session.add(u1)
     db.session.add(u2)
     db.session.commit()
Exemplo n.º 2
0
def create_user(username, password):
  pw_hash = hash_password(password)
  user = User(username=username, password=pw_hash)
  try:
    db.session.add(user)
    db.session.commit()
  except:
    print('An error occurred, please try again with a different username')
Exemplo n.º 3
0
 def test_is_vote_success(self):
     u1 = User(username='******',
               email='*****@*****.**',
               password='******',
               preference='1')
     db.session.add(u1)
     db.session.commit()
     u = User.query.get(1)
     self.assertTrue(u.preference == 1)
     self.assertTrue(u.username == 'user1')
Exemplo n.º 4
0
def register():
	if current_user.is_authenticated:
		return redirect(url_for('home'))
	form = RegistrationForm()
	if form.validate_on_submit():
		hashed_password = bcrypt.generate_password_hash(form.password.data).decode("utf-8")
		user = User(username=form.username.data, email=form.email.data, password=hashed_password)
		db.session.add(user)
		db.session.commit()
		flash(f"Account created for {form.username.data}, Log in now!", "success")
		return redirect(url_for('login'))
	return render_template("register.html", title="Register", form = form)
Exemplo n.º 5
0
def create_user(username, password):
    if current_user.username == 'admin':
        pw_hash = hash_password(password)
        user = User(username=username, password=pw_hash)
        try:
            db.session.add(user)
            db.session.commit()
            flash(f'Account created for {username}', 'success')
        except:
            flash('Something went wrong...', 'failure')
    else:
        flash('Only the admin user can create new accounts', 'info')
Exemplo n.º 6
0
def reset_token(token):
	if current_user.is_authenticated:
		flash(f'Please log out before reset the password')
		return redirect(url_for('home'))	
	user = User.verify_reset_token(token)
	if user is None:
		flash(f"That is an invalid or expired token", "warning")
		return redirect(url_for('reset_request'))
	form = ResetPasswordForm()
	if form.validate_on_submit():
		hashed_password = bcrypt.generate_password_hash(form.password.data).decode("utf-8")
		user.password = hashed_password
		db.session.commit()
		flash(f"Your password has been updated", "success")
		return redirect(url_for('login'))
	return render_template('reset_token.html', title='Reset Password', form=form)	
Exemplo n.º 7
0
    def test_invalid_registration_duplicates(self):
        u1 = User(username="******",
                  email="*****@*****.**",
                  password="******",
                  preference="1")
        db.session.add(u1)
        db.session.commit()

        # duplicate username
        response = self.register("existing_user", "*****@*****.**", "password",
                                 "password", "1")
        self.assertEqual(response.status_code, 200)

        # duplicate email
        response = self.register("user", "*****@*****.**", "password",
                                 "password", "1")
        self.assertEqual(response.status_code, 200)
Exemplo n.º 8
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('index'))

    form = RegistrationForm()
    form.preference.choices = [(candidate.id, candidate.name)
                               for candidate in Candidate.query.all()]
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(
            form.password.data).decode("utf-8")
        user = User(username=form.username.data,
                    email=form.email.data,
                    password=hashed_password,
                    preference=form.preference.data)
        db.session.add(user)
        db.session.commit()
        flash(f'Welcome {form.username.data}! You can Log in now!', 'success')
        return redirect(url_for('login'))
    return render_template('signup.html', form=form)
Exemplo n.º 9
0
def register():
    login = request.form.get('login')
    fullname = request.form.get('fullname')
    password = request.form.get('password')
    password2 = request.form.get('password2')
    next_page = request.args.get('next')

    if request.method == 'POST':
        if not (login or password or password2):
            flash('Заполните все поля')
        elif password != password2:
            flash('Пароли не совпадают')
        else:
            hash_pwd = generate_password_hash(password)
            new_user = User(login=login, fullname=fullname, password=hash_pwd)
            db.session.add(new_user)
            db.session.commit()

            return redirect(url_for('login_page') + '?next=' + next_page)

    return render_template('register.html', next=next_page)
Exemplo n.º 10
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('profile'))
    form = RegisterForm(request.form)
    if request.method == 'POST':
        email = request.form['email']
        username = request.form['username']
        fname = request.form['fname']
        lname = request.form['lname']
        password = request.form['password']
    if form.validate_on_submit():
        hashed_pw = bcrypt.generate_password_hash(password).decode('utf-8')
        user = User(email=email,
                    username=username,
                    fname=fname,
                    lname=fname,
                    password=hashed_pw)
        db.session.add(user)
        db.session.commit()
        flash(f'Account Created for', 'sucess')
        return redirect(url_for('login'))
    return render_template('register.html', form=form)