def register(): logger.info("Got a register page request: %s" % request) g.role = 'customer' db = AndrewDB() form = RegisterForm() logger.info("Validating the register form") form.csrf_enabled = False if form.validate_on_submit(): if not form.password.data == form.password_confirmation.data: logger.info( "Password confirmation failed, Redirecting to register page") return redirect(url_for('register')) hash_password = bcrypt.generate_password_hash( form.password.data).decode('utf-8') res = db.insert_sys_user(form.email.data, hash_password, g.role) if not res: flash('User with this email already registered') logger.info( "User with this email (%s) alredy registered, redirecting to register page" % form.email.data) return redirect(url_for('register')) user_id = res[0].strip('()').split(',')[0] db.add_customer(user_id, form.first_name.data, form.last_name.data, form.telephone.data) user = User(user_id, form.email.data, hash_password, g.role) login_user(user) flash('User successfully registered') logger.info( "User (ID = %s) successfully registered, redirecting to index page" % user.get_id()) return redirect(url_for('index')) logger.info("Rendering the register page") return render_template('register.html', form=form)
def test_add_customer(mock_connect): with allure.step('Add customer'): with app.app_context(): db = AndrewDB() db.add_customer(1, "John", "Doe", "+0-000-00-00-00")