def sign(url): # dont allow logged in users to access page if current_user.is_authenticated: return redirect(url_for('index')) # crete form with wtf_forms form = SignForm() # if validation is ok if form.validate_on_submit(): # check if user exists user = db.users.find_one({"username": form.username.data}) # if the user is signing in if url == 'in': # if all credentials match ok, login the user if user and User.check_password(user['password'], form.password.data): login_user(User(user['username']), remember=form.remember.data) return redirect(request.args.get("next") or url_for("profile")) # otherwise display error else: flash("Incorrect username or password.", category='sign-error') return redirect(url_for('sign', url=url)) # if the user is signing up else: # if the user already exists, display error if user: flash("That username is already in use.", category='sign-error') return redirect(url_for('sign', url=url)) # otherwise create a new user and log them in else: User.add_user(form.username.data, form.password.data) login_user(User(form.username.data), remember=form.remember.data) return redirect(request.args.get("next") or url_for("profile")) return render_template('sign.html', form=form, url=url)
def process_signup(): name = request.form['name'] lastname = request.form['lastname'] email = request.form['email'] cpf = request.form['cpf'] phone = request.form['phone'] username = request.form['username'] password = request.form['password'] active_user = current_user.name params = {'active_user': active_user, 'name': (name), 'lastname': (lastname), 'email': (email), 'cpf': (cpf), 'phone': (phone), 'username': (username)} if not User.add_user(name, lastname, cpf, phone, username, password, email): params['db_error'] = (u"Erro em banco de dados. Contate o administrador do sistema!") else: print("Usuário adicionado") return redirect("/profiles") return template('newUser.jinja2', **params)