예제 #1
0
def registrar_usuario():
    try:
        # Obtener el usuario.
        usuario = request.json.get('usuario')
        # Obtener la clave.
        clave = request.json.get('clave')

        if not usuario or not clave:
            return jsonify(respuesta='Campos inválidos'), 400

        # Consultar la base de datos.
        existe_usuario = Usuario.query.filter_by(usuario=usuario).first()

        if existe_usuario:
            return jsonify(respuesta='El usuario ya existe'), 400

        # Ciframos clave de usuario.
        clave_cifrada = bcrypt.hashpw(clave.encode('utf-8'), bcrypt.gensalt())

        # Creamos el modelo a guardar en base de datos.
        nuevo_usuario = Usuario(usuario, clave_cifrada)

        db.session.add(nuevo_usuario)
        db.session.commit()

        return jsonify(respuesta='Usuario creado con éxito'), 201

    except Exception:
        return jsonify(respuesta='Error en la petición'), 500
def registrar_usuario():
    try:
        # obtener el usuario
        usuario = request.json.get('usuario')
        # obtener la clave
        clave = request.json.get('clave')

        if not usuario or not clave:
            return jsonify(respuesta='Campos Invalidos'), 400

        # Consultar la DB
        existe_usuario = Usuario.query.filter_by(usuario=usuario).first()

        if existe_usuario:
            return jsonify(respuesta='Usuario Ya Existe'), 400

        # Encriptamos clave de usuario
        clave_encriptada = bcrypt.hashpw(clave.encode('utf-8'),
                                         bcrypt.gensalt())

        # Creamos el Modelo a guardar en DB
        nuevo_usuario = Usuario(usuario, clave_encriptada)

        db.session.add(nuevo_usuario)
        db.session.commit()

        return jsonify(respuesta='Usuario Creado Exitosamente'), 201
    except Exception:
        return jsonify(respuesta='Error en Petición'), 500
 def post(self):
     nuevo_usuario = Usuario(username=request.json.get("username"),
                             contrasena=request.json.get("contrasena"))
     try:
         db.session.add(nuevo_usuario)
         db.session.commit()
         return {'mensaje': "Inscripción exitosa"}
     except Exception as e:
         return {'mensaje': "Error al inscribir el usuario ({})".format(e)}
예제 #4
0
def usuario_inserir():
    if request.method == 'POST':
        user = Usuario()
        user.email = request.form['email']
        user.nome = request.form['nome']

        user.save()

        return redirect('/usuarios/')

    return render_template('usuario_inserir.html')
예제 #5
0
def carga_datos_usuario():
    print("\t FORMULARIO REGISTRO USUARIO")
    usuario = Usuario(None, None, None, None, None, None, None, None)
    nombre = apellido = genero = email = password = telefono = ""
    nombre = get_validated_imput("- Ingresa el nombre del usuario: ", "Este campo no puede contener numeros", [str.isalpha])
    apellido = get_validated_imput("- Ingresa el apellido del usuario: ", "Este campo no puede contener numeros", [str.isalpha])
    flag = False
    while flag is False:
        genero = input("\t- Ingresa el sexo del usuario (M-> Masculino / F-> Femenino): ")
        flag = True if genero == 'M' or genero == 'F' else False

    email = get_validated_imput("- Ingresa el email del usuario: ", "Email no valido", [valida_email])

    # Al momento del registro se establece una contraseña por default, el usuario despues podra modificar dicha contraseña
    password = PASSWORD_DEFAULT
    telefono = int(get_validated_imput("- Ingresa telefono del usuario: ", "Este campo no puede contener letras", [str.isdigit]))

    # Listamos los roles
    roles_list = findAllRoles()
    i = 1
    for rol in roles_list:
        print("\t" + str(i) + "-" + rol.nombre_rol)
        i += 1
    print("\t- Elije un rol: ")
    rol_option = valid_opt_between_ranges(1, len(roles_list))

    # Disminuimos en uno la opcion ingresada por el usuario
    rol_usuario = roles_list[rol_option - 1]

    # Seteamos los valores de las entradas en el objeto de tipo Usuario
    usuario.nombre = nombre
    usuario.apellido = apellido
    usuario.genero = genero
    usuario.email = email
    usuario.password = password
    usuario.telefono = telefono
    usuario.rol = rol_usuario
    print(usuario.__str__())
    try:
        usuario_db = registrarNuevoUsuario(usuario)
        print("Usuario registrado con exito" if usuario_db == 1 else "Ocurrio un error en el proceso de registracion!")
    except AppException as e:
        print(e.message())
예제 #6
0
def guardar_usuario():
    '''
        Guardar usuario en la base de datos. Devuelve error

        El json que se envia por POST tiene la siguiente forma:
            {"nombre": "usuario1n7", "id_usuario": "33778434611"}

    '''
    try:
        usr = Usuario(request.get_json())
        usr.guardar()
        emit('act-usuarios', usr.diccionarizar(), broadcast=True)

    except Exception:
        return json.dumps({
            'codigo': 500,
            'descripcion': 'ERROR:Usuario en uso'
        })

    return json.dumps({'codigo': '200'})
예제 #7
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    form = RegisterForm()
    error = None
    if form.validate_on_submit():
        username = form.username.data
        email = form.email.data
        password = form.password.data
        # Comprobamos que no hay ya un usuario con ese email
        user = Usuario.get_by_email(email)
        if user is not None:
            flash('El email {} ya está siendo utilizado por otro usuario'.format(email))
        else:
            # Creamos el usuario y lo guardamos
            user = Usuario(name=username, email=email)
            user.set_password(password)
            user.save()
            # Dejamos al usuario logueado
            login_user(user, remember=True)
            return redirect(url_for('index'))
    return render_template("register.html", form=form)
예제 #8
0
def buildUsuario(registro):
    rol = findRol(registro[7])  # Buscamos el rol del usuario por su id_rol
    usuario = Usuario(registro[0], registro[1], registro[2], registro[3],
                      registro[4], registro[5], registro[6], rol)
    return usuario
예제 #9
0
r_12 = Respuesta(text="1761", pregunta=q_Artigas, correcta=False)

r_13 = Respuesta(text="Blanes", pregunta=q_Blanes, correcta=True)
r_14 = Respuesta(text="Figari", pregunta=q_Blanes, correcta=False)
r_15 = Respuesta(text="Torres García", pregunta=q_Blanes, correcta=False)

db.session.add_all([c_geogra, c_deporte, c_historia, c_arte])

db.session.add_all([q_Laos, q_Armenia, q_mundial, q_Artigas, q_Blanes])

db.session.add_all([r_1, r_2, r_3, r_4, r_5, r_6, r_7, r_8, r_9, r_10, r_11, r_12, r_13, r_14, r_15])

db.session.commit()

# agregamos 1 admin y 4 users
u_admin = Usuario(name='admin', email='*****@*****.**')
u_admin.set_password("admin123")

u1 = Usuario(name='user1', email='*****@*****.**')
u1.set_password("pass1")

u2 = Usuario(name='user2', email='*****@*****.**')
u2.set_password("pass2")

u3 = Usuario(name='user3', email='*****@*****.**')
u3.set_password("pass3")

u4 = Usuario(name='user4', email='*****@*****.**')
u4.set_password("pass4")

db.session.add_all([u_admin, u1, u2, u3, u4])
예제 #10
0
                     categoria=c_geogra)
q_mundial = Pregunta(text="¿En qué país se jugó la Copa del Mundo de 1962?",
                     categoria=c_deporte)

db.session.add(c_geogra)
db.session.add(c_deporte)

db.session.add(q_Laos)
db.session.add(q_Armenia)
db.session.add(q_mundial)

db.session.commit()

# creamos otros usuarios (…) y los recorremos
categorias = Categoria.query.all()
for c in categorias:
    print(c.id, c.descripcion)
    # para cada categoria, obtenemos sus preguntas y las recorremos
    for p in c.preguntas:
        print(p.id, p.text)

cat = Categoria.query.get(1)
print(cat)

#Creo un usuario administrador
admin = Usuario(name="Administrador",
                email="*****@*****.**",
                admin=True,
                password="******")
db.session.add(admin)
db.session.commit()
예제 #11
0
#Respuestas de Laos
r_Laos1 = Respuesta(text="Vientiane", answer=True, pregunta=q_Laos)
r_Laos2 = Respuesta(text="Oslo", answer=False, pregunta=q_Laos)
r_Laos3 = Respuesta(text="Barcelona", answer=False, pregunta=q_Laos)
#Respuestas de Armenia
r_Armenia1 = Respuesta(text="3 millones", answer=True, pregunta=q_Armenia)
r_Armenia2 = Respuesta(text="45 millones", answer=False, pregunta=q_Armenia)
r_Armenia3 = Respuesta(text="300.000", answer=False, pregunta=q_Armenia)
#Respuesta de Mundial
r_mundial1 = Respuesta(text="Chile", answer=True, pregunta=q_mundial)
r_mundial2 = Respuesta(text="Francia", answer=False, pregunta=q_mundial)
r_mundial3 = Respuesta(text="Estados Unidos", answer=False, pregunta=q_mundial)

#Usuario
u_ernesto = Usuario(name="ernesto",
                    email="*****@*****.**",
                    is_admin=True)
u_ernesto.set_password("aguanteDieste47")

db.session.add(c_geogra)
db.session.add(c_deporte)
db.session.add(q_Laos)
db.session.add(q_Armenia)
db.session.add(q_mundial)
db.session.add(r_Laos1)
db.session.add(r_Laos2)
db.session.add(r_Laos3)
db.session.add(r_Armenia1)
db.session.add(r_Armenia2)
db.session.add(r_Armenia3)
db.session.add(r_mundial1)
예제 #12
0
def traduz_usuario(tupla):
    return Usuario(tupla[0], tupla[1], tupla[2])
예제 #13
0
r_Armenia3 = Respuesta(text="7 millones", pregunta=q_Armenia, correcta=False)

r_Mundial1 = Respuesta(text="México", pregunta=q_mundial, correcta=False)
r_Mundial2 = Respuesta(text="Inglaterra", pregunta=q_mundial, correcta=False)
r_Mundial3 = Respuesta(text="España", pregunta=q_mundial, correcta=True)

r_cine1 = Respuesta(text="Ciudadano Kane", pregunta=q_cine1, correcta=True)
r_cine2 = Respuesta(text="El color del dinero",
                    pregunta=q_cine1,
                    correcta=False)
r_cine3 = Respuesta(text="El lobo de Wall Street",
                    pregunta=q_cine1,
                    correcta=False)

#Creo un usuario administrador y otro común
q_u1 = Usuario(name="Admin", email="*****@*****.**")
# el pass lo seteamos con el método set_password para que se guarde con hash
q_u1.set_password("admin")

q_u2 = Usuario(name="Gonzalo", email="*****@*****.**")
q_u2.set_password("admin")

db.session.add(c_geogra)
db.session.add(c_deporte)
db.session.add(c_cultura)

db.session.add(q_Laos)
db.session.add(q_Armenia)
db.session.add(q_mundial)

db.session.add(r_Laos1)