Exemple #1
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")
Exemple #2
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")