예제 #1
0
def su_register():
    form = SeperUserRegistrationForm()
    if form.is_submitted():
        mail = User.query.filter_by(email=form.email.data).first()
        if bcrypt.check_password_hash(su_key, form.key.data):
            if mail:
                flash(
                    f'{form.email.data} alreaady Registered. Choose another one or contact Admin.',
                    'danger')
                return redirect(url_for('su_register'))
            else:
                hashed_password = bcrypt.generate_password_hash(
                    form.password.data).decode('utf-8')
                s_user = User(user_name=form.username.data,
                              email=form.email.data,
                              password=hashed_password,
                              role='super')
                db.session.add(s_user)
                db.session.commit()
                flash(
                    f' Account created for {form.username.data} successfully..!',
                    'success')
                return redirect(url_for('user_login'))
        else:
            flash(f'you entered a wrong key..', 'danger')
    return render_template('su_r3gister.html',
                           title='SuperUser Registration',
                           form=form)
예제 #2
0
def login():
    context = global_context()
    if current_user:
        if current_user.is_authenticated:
            return redirect(url_for('home'))
    form = LoginForm()
    if request.method == 'POST':
        user = User.query.filter_by(email=form.email.data).first()
        if user:
            if not user.is_validated:
                flash(
                    Markup(
                        f'Bitte bestätige erst deine Account, über den Link aus der Email. \n<a href="{url_for("resend_confirmation_link",email=user.email)}">Nochmal zusenden</a>'
                    ), 'danger')
                return redirect(url_for('home'))
            if user and bcrypt.check_password_hash(user.password,
                                                   form.password.data):
                login_user(user, remember=form.remember.data)
                next_page = request.args.get('next', 'home')
                flash(f'Willkommen {current_user.firstname}.', 'success')
                return redirect(url_for(next_page.strip('/')))
        flash(
            'Das hat nicht geklappt. Email oder Password sind nicht korrekt.',
            'danger')
    context['form'] = form
    context['title'] = 'Einloggen'
    return render_template('login.html', **context)
예제 #3
0
def forgot_password():
    form = ForgotPasswordForm()
    if form.validate_on_submit():
        user = User.query.filter_by(username=form.username.data).first()
        if user and bcrypt.check_password_hash(
                user.question_1,
                form.question_1.data) and bcrypt.check_password_hash(
                    user.question_2,
                    form.question_2.data) and bcrypt.check_password_hash(
                        user.question_3, form.question_3.data):
            new_hashed_password = bcrypt.generate_password_hash(
                form.password.data).decode('utf-8')
            user.password = new_hashed_password
            db.session.commit()
            flash('Your password has been succesfully updated!', 'success')
            return redirect(url_for('usersReviews.login'))
    return render_template('forgot_password.html', form=form)
예제 #4
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('home'))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user and bcrypt.check_password_hash(user.password, form.password.data):
            login_user(user, remember=form.remember.data)
            next_page = request.args.get('next')
            return redirect(next_page) if next_page else redirect(url_for('home'))
        else:
            flash('Login Unsuccessful. Please check email and password', 'danger')
    return render_template('login.html', title='Login', form=form)
예제 #5
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    form = LoginForm()
    if form.validate_on_submit():
        user = Users.query.filter_by(email=form.email.data).first()
        if user and bcrypt.check_password_hash(user.password, form.password.data):
            login_user(user, remember=form.remember.data)
            next_page = request.args.get('next')
            return redirect(next_page) if next_page else redirect(url_for('main.home'))
        else:
            flash('Email and password combination not found. Check your login information and try again.', 'danger')
    return render_template('login.html', title='Login', form=form)
예제 #6
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('home'))
    login_form = LoginForm()
    if login_form.validate_on_submit():
        user = User.query.get(login_form.email_or_username.data) or \
                User.query.filter_by(email=login_form.email_or_username.data).first()
        if user and bcrypt.check_password_hash(user.password,
                                               login_form.password.data):
            login_user(user, force=True)
            return redirect(url_for('home'))
        flash('Login failed. Please check your username/email and password.')
    return render_template('login-page.html', form=login_form)
예제 #7
0
def login():
	if current_user.is_authenticated:
		return redirect(url_for('index'))
	form = LoginForm()
	if form.validate_on_submit():
		user = Leden.query.filter_by(email=form.email.data).first()
		if user and bcrypt.check_password_hash(user.password, form.password.data):
			login_user(user, remember=form.remember.data)
			flash('successvol ingelogd!', 'success')
			next_page = request.args.get('next')
			return redirect(next_page) if next_page else redirect(url_for('index'))
		else:
			flash('Inloggen mislukt. Controleer uw email en wachtwoord', 'danger')
	return render_template("login.html", form=form)
예제 #8
0
def update_correct_bracket():
    game1 = request.form.get('game1')
    game2 = request.form.get('game2')
    game3 = request.form.get('game3')
    game4 = request.form.get('game4')
    game5 = request.form.get('game5')
    game6 = request.form.get('game6')
    game7 = request.form.get('game7')
    game8 = request.form.get('game8')
    game9 = request.form.get('game9')
    game10 = request.form.get('game10')
    game11 = request.form.get('game11')
    game12 = request.form.get('game12')
    game13 = request.form.get('game13')
    game14 = request.form.get('game14')
    game15 = request.form.get('game15')

    password = request.form.get('password')
    correct_pass = os.environ.get('CORRECT_PASSWORD')

    if bcrypt.check_password_hash(correct_pass, password):
        new_bracket = Bracket(game1=game1, game2=game2,
            game3=game3, game4=game4, game5=game5, game6=game6, game7=game7, game8=game8, game9=game9, game10=game10,
            game11=game11, game12=game12, game13=game13, game14=game14, game15=game15)
        
        CORRECT_BRACKET = Bracket.query.filter_by(name='CORRECT_BRACKET', id=0).first()

        CORRECT_BRACKET.game1 = new_bracket.game1
        CORRECT_BRACKET.game2 = new_bracket.game2
        CORRECT_BRACKET.game3 = new_bracket.game3
        CORRECT_BRACKET.game4 = new_bracket.game4
        CORRECT_BRACKET.game5 = new_bracket.game5
        CORRECT_BRACKET.game6 = new_bracket.game6
        CORRECT_BRACKET.game7 = new_bracket.game7
        CORRECT_BRACKET.game8 = new_bracket.game8
        CORRECT_BRACKET.game9 = new_bracket.game9
        CORRECT_BRACKET.game10 = new_bracket.game10
        CORRECT_BRACKET.game11 = new_bracket.game11
        CORRECT_BRACKET.game12 = new_bracket.game12
        CORRECT_BRACKET.game13 = new_bracket.game13
        CORRECT_BRACKET.game14 = new_bracket.game14
        CORRECT_BRACKET.game15 = new_bracket.game15

        db.session.commit()

        return redirect(url_for('bracket.update_points'))

    return redirect(url_for('bracket.standings'))
예제 #9
0
def login():
    form = Login()
    if form.validate_on_submit():
        user = User.query.filter_by(username=form.username.data).first()
        if not user:
            user = User.query.filter_by(email=form.username.data).first()
        if user and bcrypt.check_password_hash(user.hashed_password,
                                               form.password.data):
            login_user(user, remember=form.remember.data)
            user.last_login = datetime.now()
            next_page = request.args.get('next')
            return redirect(next_page) if next_page else redirect(
                url_for('main.home'))
        else:
            flash("Username or password are incorrect", 'danger')
    return render_template('login.html', form=form)
예제 #10
0
def login():
    """For GET requests, display the login form. For POSTS, login the current
    user by processing the form."""
    if request.method == 'POST':
        username = request.form['username']
        password = request.form['password']
        user = User.query.filter(User.email == username).first()
        if username:
            if bcrypt.check_password_hash(user.password, password):
                user.authenticated = True
                db.session.add(user)
                db.session.commit()
                login_user(user, remember=True)
                return redirect(url_for('adminPanel'))
    else:
        return render_template("login.html")
예제 #11
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user and bcrypt.check_password_hash(user.password,
                                               form.password.data):
            login_user(user, remember=form.remember.data)
            flash(f'You have successfully logged in!',
              'success')
            return redirect(url_for('index'))
        else:
            flash('Login Unsuccessful. Please check email and password',
                  'danger')
    return render_template('/login.html', title='Login Form', form=form)
예제 #12
0
def user_login():
    if current_user.is_authenticated:
        return redirect(url_for('home'))
    form = UserLoginForm()
    if form.is_submitted():
        user = User.query.filter_by(email=form.email.data).first()
        if user and bcrypt.check_password_hash(user.password,
                                               form.password.data):
            login_user(user)
            next_page = request.args.get('next')
            flash(f' You have been logged in successfully..!', 'success')
            return redirect(next_page) if next_page else redirect(
                url_for('home', current_user=user))
        else:
            flash(f'Login unsuccessful..', 'danger')
    return render_template('login.html', title='User Login', form=form)
예제 #13
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('misc.home'))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(username=form.username.data).first()
        if user and bcrypt.check_password_hash(user.password,
                                               form.password.data):
            login_user(user, remember=form.remember.data)
            if 'movieID' in session:
                return redirect(
                    url_for('usersReviews.detailed_review',
                            movie_id=session['movieID']))
            return redirect(url_for('misc.home'))
        else:
            flash(f'Login Unsuccessful. Please check username and password',
                  'danger')
    return render_template('login.html', title='Login', form=form)
예제 #14
0
def login_post():
    email = request.form['email']
    password = request.form['password']

    user = User.query.filter_by(email=email).first()

    if user and bcrypt.check_password_hash(user.password, password):
        # add remember me button
        login_user(user)
        next_page = request.args.get('next')
        return redirect(next_page or url_for('bracket.view_bracket'))

    elif user:
        flash('Password was incorrect. Try again', 'w3-pale-red')
        return render_template("login.html", email=email)

    flash('User not found. Please create an acount', 'w3-pale-red')

    return render_template("login.html", email=email)
예제 #15
0
파일: routes.py 프로젝트: RagnarokV/ece1779
def login():
    print(count)
    if current_user.is_authenticated:
        return redirect(url_for('home'))
    form = LoginForm()
    title = 'Log In'
    if form.validate_on_submit():
        #Query by email to see if it exists in db to login
        username = user_list.query.filter_by(
            username=form.username.data).first()
        if username and bcrypt.check_password_hash(username.password,
                                                   form.password.data):
            login_user(username, remember=form.remember.data)

            #If a page accessible only to logged in users is accessed before logging in
            next_page = request.args.get('next')
            flash('Successfully logged in!', category='success')
            return redirect(next_page) if next_page else redirect(
                url_for('home'))
        else:
            flash('Incorrect email or password', 'danger')
    return render_template('login.html', title=title, form=form)
예제 #16
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for("home"))
    form = LoginForm()
    if form.validate_on_submit():
        users = getDBData()
        print(users)
        userFoundRow = None
        if users:
            for row in users:
                print(row.username)
                if row.username.lower() == form.username.data.lower():
                    userFoundRow = row
                    break

        if userFoundRow:
            if bcrypt.check_password_hash(userFoundRow.password,
                                          form.password.data):
                login_user(User(userFoundRow), remember=form.remember.data)
                return redirect(url_for("home"))
            flash("Incorrect password specified.")
        else:
            flash("The specified household nickname was not found")
    return render_template("login.html", form=form)
예제 #17
0
def check_pass(username, password):
	return bcrypt.check_password_hash(User.get(User.username==username).password, password)
예제 #18
0
    def check_password(self, password):

        return bcrypt.check_password_hash(self.password_hash, password)