Esempio n. 1
0
def signup():
    signup_form = LoginForm()
    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, password_hash)
            user_put(user_data)

            user = UserModel(user_data)

            login_user(user)

            flash("Bienvenido!")

            return redirect(url_for("zero"))

        else:
            flash("El usario existe!")

    return render_template("signup.html", **context)
Esempio n. 2
0
def signup():
    form = SignupForm()

    context = {
        'form': form
    }

    if request.method == 'POST':
        username = form.username.data
        password = form.password.data
        password2 = form.password2.data

        if form.check_password(password, password2):
            user_doc = get_user(username)
            
            if user_doc.to_dict() is None:
                user_data = UserData(
                    username=username,
                    password=generate_password_hash(password)
                )

                user_put(user_data)

                user = UserModel(user_data)
                return redirect(url_for('auth.login'))
            else:
                flash('User already exists.')
        else:
            flash('Passwords didn\' match.')

    return render_template('signup.html', **context)
Esempio n. 3
0
def signup():
    signup_form = LoginForm()
    context = {
        'signup_form': signup_form
    }

    if signup_form.validate_on_submit():
        username = signup_form.username.data #obtenemos el username
        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, password_hash)

            user_put(user_data)

            user = UserModel(user_data)

            login_user(user)
            flash('Welcome!')
            return redirect(url_for('hello'))

        else:
            flash('This user is exist. Try Other')

    return render_template('signup.html', **context)
Esempio n. 4
0
def signup():
    signup_form = LoginForm()
    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, password_hash)
            user_put(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)
Esempio n. 5
0
def sign_up():
    signup_form = LoginForm()
    context = {
        'signup_form': signup_form,
    }

    # Validar 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,
                                 password_hash)  #Crear instancia de UserData
            user_put(
                user_data)  #registrar usuario en db (ver direstore_service.py)

            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)
Esempio n. 6
0
def signup():
    signup_form = loginForm()
    parameter = {
        'signup_form': signup_form
    }

    #Validate the form
    if signup_form.validate_on_submit():
        #Get the data
        username = signup_form.username.data
        password = signup_form.password.data

        user_doc = get_user(username)

        #If the user does not exists
        if user_doc.to_dict() is None:
            #Hash the password
            password_hash = generate_password_hash(password)
            user_data = UserData(username, password_hash)
            user_put(user_data)

            user = UserModel(user_data)
            login_user(user)

            flash('Welcome!')

            return redirect(url_for('index'))
            
        else:
            flash('The user already exists.')

    return render_template('signup.html', **parameter)
Esempio n. 7
0
def signup():
    try:
        body = request.get_json()

        email = body["email"]
        username = body["username"]
        password = body["password"]

        user_doc = get_user(username)

        if user_doc.to_dict() is None:
            password_hash = generate_password_hash(password)
            user_data = UserData(username, password_hash, email)
            user_put(user_data)

            session['username'] = username

            return make_response(error=False,
                                 message="User created",
                                 status=201)

        else:
            return make_response(error=True,
                                 message="User already exist",
                                 status=400)

    except (KeyError, TypeError):
        # If invalid body schema
        message = 'username, email and password are needed'
        return make_response(error=True, message=message, status=400)

    except Exception:
        # Return a 500 error if something went wrong
        return make_response(error=True, message='Server serror', status=500)
Esempio n. 8
0
def signup():
    signup_form = LoginForm()

    context = {'signup_form': signup_form}

    #POST: buscamos al usuario si es que existe, ya es usuario, si no, lo creamos
    if signup_form.validate_on_submit():
        username = signup_form.username.data
        password = signup_form.password.data

        #vamos a buscar ese usuario en nuestra BD
        user_doc = get_user(username)
        if user_doc.to_dict() is None:
            #generamos un password hash del password que nos envia el usuario
            password_hash = generate_password_hash(password)
            #creamos una nueva instancia de user_data
            user_data = UserData(username, password_hash)

            #creamos una funcion desde firestore_service para que persista el dato del usuario
            user_put(user_data)
            #ya que creamos un nuevo usuario en la base de datos, creamos un usermodel para poder logearlo en la sesion
            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)
Esempio n. 9
0
def signup():
    signup_form = SignupForm()

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

        user_doc = get_user(email).to_dict()
        if user_doc is None:
            password_hash = generate_password_hash(password)
            user_data = UserData(email, password_hash)

            user_put(user_data)

            user = UserModel(user_data)
            login_user(user)

            flash('Welcome to our app', 'success')

            return redirect(url_for('panel'))
        else:
            signup_form.email.errors.append('User already exists')

    context = {
        'signup_form': signup_form,
    }

    return render_template('signup.html', **context)
Esempio n. 10
0
def sign_up():
    signup_form = LoginForm()
    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, password_hash)
            user_put(user_data)
            user = UserModel(user_data)
            login_user(user)
            flash('Welcome for the first time!')
            return redirect(url_for('hello'))
        else:
            flash('User already exists')

    return render_template('signup.html', **context)
Esempio n. 11
0
def signup():
    ##TODO: verificar que al momento de generar la contraseña esté sumando un SAL, un código adicional al final para que no sea reversible y mas seguro
    context = {}
    if session.get('admin'):
        context = {
            'admin': session['admin'],
        }

        if request.method == 'POST':
            formData = request.form
            username = formData.get('username').upper()
            password = formData.get('password')
            fullname = formData.get('fullname')
            gender = formData.get('gender').upper()

            # print(formData)
            context['form'] = formData

            user__db = get_user_with_tenant(username, session['tenant'])
            if user__db.to_dict() is None:
                password__hash = generate_password_hash(password)
                user__data = UserData(username=username,
                                      password=password__hash,
                                      admin=False,
                                      tenant=session['tenant'],
                                      fullname=fullname,
                                      gender=gender)

                user_put(user__data)

                flash('Usuario ' + username + ' registrado', category='info')
                return redirect(url_for('orders.list_orders'))
            else:
                flash('El usuario existe.')

        return render_template('signup.html', **context)
    else:
        flash('No tiene permisos de administrador', category='info')
        return redirect(url_for('orders.list_orders'))
Esempio n. 12
0
def signup():
    signup_form = Signup_Form()
    context = {'signup_form': signup_form}
    if request.method == 'POST':
        username = signup_form.username.data
        email = signup_form.email.data
        password = signup_form.password.data

        user_doc = get_user(username)
        email_doc = get_user(email)

        if user_doc or email_doc is None:
            pass_hash = generate_password_hash(password)
            user_data = UserData(username, pass_hash, email)
            user_put(user_data)
            user = UserModel(user_data)
            login_user(user)
            flash('Welcome', 'success')
            return redirect(url_for('hello'))
        else:
            flash('The user exist', 'danger')

    return render_template('auth/signup.html', **context)