Example #1
0
def login() -> render_template:
    login_form = AuthForm()
    context = {'login_form': login_form}

    if login_form.validate_on_submit():
        username = login_form.username.data
        password = login_form.password.data
        user_doc = get_user(username)

        if user_doc.to_dict():
            password_from_db = user_doc.to_dict()['password']
            if password == password_from_db:
                user_data = UserData(username, password)
                user = UserModel(user_data)
                login_user(user)
                flash('Bienvenido de nuevo!')
                redirect(url_for('hello'))
            else:
                flash("la información no coincide")
        else:
            flash("El usuario no existe")

        return redirect(url_for('index'))

    return render_template('login.html', **context)
Example #2
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('account'))
    form = AuthForm()
    if form.validate_on_submit():
        print("all ok")
        user = User.query.filter_by(mail=form.mail.data).first()
        if user and user.check_hash(form.password.data):
            login_user(user)
            next_page = request.args.get('next')
            if not next_page:
                next_page = url_for('account')
            return redirect(next_page)
    return render_template('auth.html', form=form)
Example #3
0
def signup() -> render_template:
    signup_form = AuthForm()
    context = {'signup_form': signup_form}

    if signup_form.validate_on_submit():
        username = signup_form.username.data
        password = signup_form.password.data

        user_doc = get_user(username)
        if user_doc.to_dict() is None:
            password_hash = generate_password_hash(password)
            user_data = UserData(username=username, password=password_hash)
            put_user(user_data)
            user = UserModel(user_data)
            login_user(user)
            flash("Bienvenido")
            return redirect(url_for('hello'))
        else:
            flash("El usuario ya existe!")
    return render_template('signup.html', **context)
    def __login(self):
        """Метод обработки запросов пользователя на странице авторизации"""
        if current_user.is_authenticated:
            return redirect(url_for("__index"))

        form = AuthForm()

        # Если пришел POST запрос в форме, обрабатываем его.
        if form.validate_on_submit():
            # Загружаем юзера со всеми его данными.
            user = self.__db_connector.load_user(form.name.data)

            # Если юзер вошел, перенаправляем на главную.
            if user and user.verify_password(form.password.data):
                login_user(user, remember=form.remember_me.data)
                return redirect(request.args.get("next") or url_for("__index"))
            else:
                flash("Упс, похоже, вы ошиблись с данными.", "error")

        # Если юзер не смог войти или просто открыл страницу авторизации,
        # отправляем шаблон с формой.
        return render_template("authorization.html", form=form)