Пример #1
0
def register_account():
    form = RegistrationForm(request.form)
    if request.method == 'POST' and form.validate():
        #also check that account does not exist already
        password = pwd_context.hash(form.password.data)
        try:
            hotp_secret = duo.activate(form.qr_url.data)
            # hotp_secret = 'a85adc3516351791c05ef40bde772c24'
            db.insert_user(form.email.data, password, hotp_secret)
        except UniqueViolationException as e:
            flash(
                "An account with that email already exists. Try another one.")
            return redirect(url_for('register_account'))
        except Exception as e:
            flash(
                "I\'m sorry. Try again later. Let the adminstrator know about the error: {} {}"
                .format(type(e), e))
            return redirect(url_for('register_account'))
        else:
            flash("Thanks for registering.")
            app.logger.debug("Received {} {}:{}".format(
                form.email.data, form.password.data, password))
            return redirect(url_for('generate_passcode'))
    else:
        return render_template('register.html',
                               title='Register New Account',
                               form=form,
                               urls={r: url_for(r)
                                     for r in routes})
Пример #2
0
 def test_insert_user_db(self):
     """ Tests if a user is registered successfully with the right information """
     mockuser = self.create_mock_user('Test Name', '*****@*****.**',
                                      'testusername', 'testpassword')
     db.insert_user(mockuser)
     user = db.get_user('testusername', 'testpassword')
     self.assertEqual(user['name'], mockuser['name'])
     self.assertEqual(user['email'], mockuser['email'])
     self.assertEqual(user['username'], mockuser['username'])
     self.assertEqual(user['password'], mockuser['password'])
Пример #3
0
def create_user():
    """    
    If a POST request is made, creates a new user.
    Renders the create_user page.
    """
    if request.method == 'GET':   
        return render_template('create_user.html', users=db.get_all_users())

    new_name = request.form['newUserName']

    if new_name != None:
        db.insert_user(new_name)

    return redirect(url_for('create_user'))