Esempio n. 1
0
def signUpInversor():
    if request.method == "GET":
        categorias = CategoriaLogic().getAllCategorias()
        return render_template("registroInv.html",
                               message="",
                               categorias=categorias)
    elif request.method == "POST":  # "POST"
        name = request.form["nombre"]
        user = request.form["user"]
        rol = 2
        password = str(request.form["password"])
        email = str(request.form["email"])
        country = request.form["country"]
        bio = request.form["bio"]
        city = request.form["city"]
        foto = request.files["fileToUpload"]
        nombre_foto = foto.filename
        binary_foto = foto.read()

        if foto.filename == "":
            nombre_foto = "default.png"
        # Creando nuevo usuario
        logicUsuario = UserLogic()
        existeUsuario = logicUsuario.checkUserInUsuario(user, rol)
        if existeUsuario:
            return render_template(
                "registroInv.html",
                errorMessage="Este usuario ya existe, inténtelo nuevamente",
                namex=name,
                emailx=email,
                countryx=country,
                biox=bio,
                cityx=city,
            )
        else:
            logicUsuario.insertNewUser(user, password, rol)
            userData = logicUsuario.getUser(user, password)
            idUsuario = int(userData.getId())
            # Creando nuevo Inversor
            logicInversor = inversorLogic()
            if nombre_foto == "default.png":
                logicInversor.insertNewInversorWithoutPhoto(
                    name, bio, email, idUsuario, country, city, nombre_foto)
            else:
                logicInversor.insertNewInversor(name, bio, email, idUsuario,
                                                country, city, binary_foto)
            logicInversor.getNewInversor(name, bio, email, idUsuario, country,
                                         city)
            idInversor = int(
                logicInversor.getNewInversor(name, bio, email, idUsuario,
                                             country, city).getId())
            # Insertando nuevos intereses
            categorias = CategoriaLogic().getAllCategorias()
            for checkbox in categorias:
                id_categoria = checkbox["id"]
                value = request.form.get(str(id_categoria))
                if value:
                    logicInversor.insertNewInteres(id_categoria, idInversor)

            dataDic = logicUsuario.createDictionary(userData)
            session["user"] = dataDic

            return redirect("/InicioInv")
Esempio n. 2
0
def signUpEmprendedor():
    if request.method == "GET":
        return render_template("registroEmp.html", message="")
        # return render_template("ejem.html", message="")

    elif request.method == "POST":  # "POST"
        # Recuperando datos
        name = request.form["nombre"]
        user = request.form["user"]
        rol = 3
        password = str(request.form["password"])
        email = str(request.form["email"])
        country = request.form["country"]
        phone = request.form["phone"]
        city = request.form["city"]
        bio = request.form["bio"]
        foto = request.files["fileToUpload"]
        nombre_foto = foto.filename
        binary_foto = foto.read()

        if foto.filename == "":
            nombre_foto = "default.png"
        ####
        # Creando nuevo usuario
        logicUsuario = UserLogic()
        # Comprobando rrrrff5
        existeUsuario = logicUsuario.checkUserInUsuario(user, rol)
        if existeUsuario:
            return render_template(
                "registroEmp.html",
                errorMessage="Este usuario ya existe, inténtelo nuevamente",
                namex=name,
                emailx=email,
                countryx=country,
                cityx=city,
                phonex=phone,
            )
        else:
            logicUsuario.insertNewUser(user, password, rol)
            userData = logicUsuario.getUser(user, password)
            id_user = int(userData.getId())
            # Creando nuevo emprendedor
            logicEmprendedor = emprendedorLogic()

            if nombre_foto == "default.png":
                logicEmprendedor.insertNewEmprendedorWithoutPhoto(
                    name,
                    email,
                    phone,
                    id_user,
                    country,
                    city,
                    bio,
                    nombre_foto,
                )
            else:
                logicEmprendedor.insertNewEmprendedor(
                    name,
                    email,
                    phone,
                    id_user,
                    country,
                    city,
                    bio,
                    binary_foto,
                )
            dataDic = logicUsuario.createDictionary(userData)
            session["user"] = dataDic
            return redirect("/emprendedorProfile")
Esempio n. 3
0
def inversionista():
    try:
        user = session["user"]
        logic = inversorLogic()
        uLogic = UserLogic()
        message = ""
        verdadero = False
        if request.method == "GET":
            data = logic.getAllInversionista()
            for registro in data:
                usuario = uLogic.getUserById(registro["id_usuario"])
                userName = usuario.user
                registro["id_usuario"] = userName
            return render_template("inversionistaAdmin.html",
                                   data=data,
                                   message=message)

        elif request.method == "POST":  # "POST"
            formId = int(request.form["formId"])
            # Insertar
            if formId == 1:

                # Recoger datos
                name = request.form["nombre"]
                email = str(request.form["email"])
                country = request.form["pais"]
                bio = request.form["biografia"]
                city = request.form["ciudad"]
                foto = request.files["fileToUpload"]
                nombre_foto = foto.filename
                userName = request.form["name_usuario"]
                password = request.form["password"]
                binary_foto = foto.read()
                usuarioExiste = uLogic.checkUserInUsuario(userName, 2)
                if usuarioExiste:
                    data = logic.getAllInversionista()
                    for registro in data:
                        usuario = uLogic.getUserById(registro["id_usuario"])
                        userName = usuario.user
                        registro["id_usuario"] = userName
                    return render_template(
                        "inversionistaAdmin.html",
                        data=data,
                        message="El usuario ya existe, intentelo nuevamente",
                    )
                else:
                    uLogic.insertNewUser(userName, password, 2)
                    usuario = uLogic.getUserByUser(userName)
                    idUsuario = usuario.id
                    if foto.filename == "":
                        nombre_foto = "default.png"
                    logicInversor = inversorLogic()
                    if nombre_foto == "default.png":
                        logicInversor.insertNewInversorWithoutPhoto(
                            name, bio, email, idUsuario, country, city,
                            nombre_foto)
                    else:
                        logicInversor.insertNewInversor(
                            name, bio, email, idUsuario, country, city,
                            binary_foto)
                    message = "Se ha insertado un nuevo inversionista"
                    data = logic.getAllInversionista()
                    for registro in data:
                        usuario = uLogic.getUserById(registro["id_usuario"])
                        userName = usuario.user
                        registro["id_usuario"] = userName

                    return render_template("inversionistaAdmin.html",
                                           data=data,
                                           message=message)

            # Eliminar
            elif formId == 2:
                id = int(request.form["id"])

                try:
                    logic.deleteInversionista(id)
                    data = logic.getAllInversionista()
                    for registro in data:
                        usuario = uLogic.getUserById(registro["id_usuario"])
                        userName = usuario.user
                        registro["id_usuario"] = userName
                    message = "Se ha eliminado un usuario de inversionista"

                except pymysql.err.MySQLError as error:
                    print("Failed inserting BLOB data into MySQL table {}".
                          format(error))
                    message = (
                        "No se puede eliminar. Afecta la integridad de la base de datos"
                    )
                    data = logic.getAllInversionista()
                    for registro in data:
                        usuario = uLogic.getUserById(registro["id_usuario"])
                        userName = usuario.user
                        registro["id_usuario"] = userName

                return render_template("inversionistaAdmin.html",
                                       data=data,
                                       message=message)

            # Update
            elif formId == 3:
                id = int(request.form["id"])
                nombre = request.form["nombre"]
                biografia = request.form["biografia"]
                email = request.form["email"]
                userName = request.form["name_usuario"]
                session["userNameInv"] = userName
                pais = request.form["pais"]
                ciudad = request.form["ciudad"]
                # ----------------------------------
                usuario = uLogic.getUserByUser(userName)
                id_usuario = usuario.id
                verdadero = True
                data = logic.getAllInversionista()
                for registro in data:
                    usuario = uLogic.getUserById(registro["id_usuario"])
                    userName = usuario.user
                    registro["id_usuario"] = userName

                return render_template(
                    "inversionistaAdmin.html",
                    data=data,
                    message=message,
                    verdadero=verdadero,
                    id=id,
                    nombre=nombre,
                    biografia=biografia,
                    email=email,
                    id_usuario=id_usuario,
                    pais=pais,
                    ciudad=ciudad,
                )

            # Modificar inversionista
            else:
                id = int(request.form["id"])
                nombre = request.form["nombre"]
                biografia = request.form["biografia"]
                email = request.form["email"]
                userName = session["userNameInv"]
                pais = request.form["pais"]
                ciudad = request.form["ciudad"]
                foto = request.files["fileToUpload"]
                nombre_foto = foto.filename
                try:
                    usuario = uLogic.getUserByUser(userName)
                    id_usuario = usuario.id
                    if foto.filename == "":
                        logic.updateInversionista(id, nombre, biografia, email,
                                                  id_usuario, pais, ciudad)
                    else:
                        binary_foto = foto.read()
                        logic.updateInversionistaConFoto(
                            id,
                            nombre,
                            biografia,
                            email,
                            pais,
                            ciudad,
                            binary_foto,
                            id_usuario,
                        )
                    data = logic.getAllInversionista()
                    for registro in data:
                        usuario = uLogic.getUserById(registro["id_usuario"])
                        userName = usuario.user
                        registro["id_usuario"] = userName
                    message = "Se ha modificado el inversionista"

                except pymysql.err.MySQLError as error:
                    print("Failed inserting BLOB data into MySQL table {}".
                          format(error))
                    message = "No se puede modificar. No existe el id usuario"
                    data = logic.getAllInversionista()
                    for registro in data:
                        usuario = uLogic.getUserById(registro["id_usuario"])
                        userName = usuario.user
                        registro["id_usuario"] = userName

                return render_template("inversionistaAdmin.html",
                                       data=data,
                                       message=message)
    except KeyError:
        return render_template(
            "logInForm.html",
            messageSS="Su sesión ha expirado, ingrese nuevamente")
Esempio n. 4
0
def signUpInversor():
    if request.method == "GET":
        return render_template("registroInv.html", message="")
    elif request.method == "POST":  # "POST"
        name = request.form["nombre"]
        user = request.form["user"]
        rol = 2
        # Estas son las categorias
        i = 1
        alimento = request.form.get("Alimento")
        moda = request.form.get("Moda")
        cYTec = request.form.get("CyTec")
        ecologia = request.form.get("Ecologia")
        academico = request.form.get("Academico")
        social = request.form.get("Social")
        salud = request.form.get("Salud")
        belleza = request.form.get("Belleza")
        entretenimiento = request.form.get("Entretenimiento")
        infantil = request.form.get("Infantil")
        otra = request.form.get("Otra")
        # Fin de las categorias
        password = str(request.form["password"])
        email = str(request.form["email"])
        country = request.form["country"]
        bio = request.form["bio"]
        city = request.form["city"]
        foto = request.files["fileToUpload"]
        nombre_foto = foto.filename
        binary_foto = foto.read()

        if foto.filename == "":
            nombre_foto = "default.png"
        # Creando nuevo usuario
        logicUsuario = UserLogic()
        existeUsuario = logicUsuario.checkUserInUsuario(user, rol)
        if existeUsuario:
            return render_template(
                "registroInv.html",
                errorMessage="Este usuario ya existe, inténtelo nuevamente",
                namex=name,
                emailx=email,
                countryx=country,
                biox=bio,
                cityx=city,
            )
        else:
            logicUsuario.insertNewUser(user, password, rol)
            userData = logicUsuario.getUser(user, password)
            idUsuario = int(userData.getId())
            # Creando nuevo Inversor
            logicInversor = inversorLogic()
            if nombre_foto == "default.png":
                logicInversor.insertNewInversorWithoutPhoto(
                    name, bio, email, idUsuario, country, city, nombre_foto)
            else:
                logicInversor.insertNewInversor(name, bio, email, idUsuario,
                                                country, city, binary_foto)
            logicInversor.getNewInversor(name, bio, email, idUsuario, country,
                                         city)
            idInversor = int(
                logicInversor.getNewInversor(name, bio, email, idUsuario,
                                             country, city).getId())
            # Insertando nuevos intereses
            for checkbox in (
                    alimento,
                    moda,
                    ecologia,
                    cYTec,
                    social,
                    salud,
                    academico,
                    entretenimiento,
                    infantil,
                    belleza,
                    otra,
            ):
                value = request.form.get(checkbox)
                if value:
                    logicInversor.insertNewInteres(i, idInversor)
                i += 1
            dataDic = logicUsuario.createDictionary(userData)
            session["user"] = dataDic

            return redirect("/InicioInv")
Esempio n. 5
0
def emprendedor():
    try:
        user = session["user"]
        logic = emprendedorLogic()
        uLogic = UserLogic()
        message = ""
        verdadero = False
        data = logic.getAllEmprendedores()
        for registro in data:
            usuario = uLogic.getUserById(registro["id_usuario"])
            userName = usuario.user
            registro["id_usuario"] = userName
        if request.method == "GET":
            return render_template("emprendedorAdmin.html",
                                   data=data,
                                   message=message)
        elif request.method == "POST":
            formId = int(request.form["formId"])
            # Inserta una categoría
            if formId == 1:
                userName = request.form["userName"]
                password = request.form["password"]
                name = request.form["nombre"]
                email = request.form["email"]
                phone = request.form["telefono"]
                country = request.form["pais"]
                city = request.form["ciudad"]
                bio = request.form["biografia"]
                name = request.form["nombre"]
                foto = request.files["fileToUpload"]
                nombre_foto = foto.filename
                binary_foto = foto.read()
                usuarioExiste = uLogic.checkUserInUsuario(userName, 3)
                if usuarioExiste:
                    data = logic.getAllEmprendedores()
                    for registro in data:
                        usuario = uLogic.getUserById(registro["id_usuario"])
                        userName = usuario.user
                    registro["id_usuario"] = userName
                    message = "Se ha insertado un nuevo usuario"
                    return render_template(
                        "emprendedorAdmin.html",
                        data=data,
                        message="El usuario ya existe, intentelo nuevamente",
                    )
                else:
                    uLogic.insertNewUser(userName, password, 3)
                    usuario = uLogic.getUserByUser(userName)
                    id_user = usuario.id

                    if foto.filename == "":
                        nombre_foto = "default.png"
                    if nombre_foto == "default.png":
                        logic.insertNewEmprendedorWithoutPhoto(
                            name,
                            email,
                            phone,
                            id_user,
                            country,
                            city,
                            bio,
                            nombre_foto,
                        )
                    else:
                        logic.insertNewEmprendedor(
                            name,
                            email,
                            phone,
                            id_user,
                            country,
                            city,
                            bio,
                            binary_foto,
                        )
                    data = logic.getAllEmprendedores()
                    for registro in data:
                        usuario = uLogic.getUserById(registro["id_usuario"])
                        userName = usuario.user
                    registro["id_usuario"] = userName
                    message = "Se ha insertado un nuevo usuario"
                    return render_template("emprendedorAdmin.html",
                                           data=data,
                                           message=message)

            # Elimina una categoria
            elif formId == 2:
                id = int(request.form["id"])

                try:
                    logic.deleteEmprendedor(id)
                    data = logic.getAllEmprendedores()
                    message = "Se ha eliminado un usuario"

                except pymysql.err.MySQLError as error:
                    print("Failed inserting BLOB data into MySQL table {}".
                          format(error))
                    message = "No se puede eliminar. Afecta la integridad de los datos"
                    data = logic.getAllEmprendedores()
                    for registro in data:
                        usuario = uLogic.getUserById(registro["id_usuario"])
                        userName = usuario.user
                        registro["id_usuario"] = userName

                return render_template("emprendedorAdmin.html",
                                       data=data,
                                       message=message)
            # Va al form para dar update
            elif formId == 3:
                id = int(request.form["id"])
                nombre = request.form["nombre"]
                email = request.form["email"]
                telefono = request.form["telefono"]
                userName = request.form["id_usuario"]
                pais = request.form["pais"]
                ciudad = request.form["ciudad"]
                biografia = request.form["biografia"]
                return render_template(
                    "emprendedorAdmin.html",
                    data=data,
                    message=message,
                    verdadero=True,
                    id=id,
                    nombre=nombre,
                    email=email,
                    telefono=telefono,
                    userName=userName,
                    pais=pais,
                    ciudad=ciudad,
                    biografia=biografia,
                )
            # Modifica una categoria
            else:
                id = int(request.form["id"])
                nombre = request.form["nombre"]
                email = request.form["email"]
                telefono = request.form["telefono"]
                userName = request.form["userName"]
                pais = request.form["pais"]
                ciudad = request.form["ciudad"]
                biografia = request.form["biografia"]
                foto = request.files["fileToUpload"]
                nombre_foto = foto.filename
                # try:
                usuario = uLogic.getUserByUser(userName)
                id_usuario = usuario.id
                if foto.filename == "":
                    logic.updateEmprendedorbyIdUsuario(
                        id_usuario,
                        nombre,
                        email,
                        telefono,
                        pais,
                        ciudad,
                        biografia,
                    )
                else:
                    binary_foto = foto.read()
                    logic.updateEmprendedorbyIdUsuarioWithPhoto(
                        id_usuario,
                        nombre,
                        email,
                        telefono,
                        pais,
                        ciudad,
                        biografia,
                        binary_foto,
                    )
                message = "Se ha modificado con éxito"
                data = logic.getAllEmprendedores()
                for registro in data:
                    usuario = uLogic.getUserById(registro["id_usuario"])
                    userName = usuario.user
                    registro["id_usuario"] = userName

                # except mysql.connector.Error and TypeError as error:
                #   print("Failed inserting BLOB data into MySQL table {}".format(error))
                #  message = "No se puede modificar. No existe el usuario"

                return render_template("emprendedorAdmin.html",
                                       verdadero=False,
                                       data=data,
                                       message=message)
    except KeyError:
        return render_template(
            "logInForm.html",
            messageSS="Su sesión ha expirado, ingrese nuevamente")