示例#1
0
 def FundadoresByEmprendimientoCorreo(self, user, id_emprendimiento):
     id_usuario = UserLogic()
     usuario = id_usuario.getUserByUser(user)
     Inversor = inversorLogic()
     id_inversor = Inversor.getIdInversor(usuario.getId())
     dataBase = self.get_databaseXObj()
     Emprendimiento = emprendimientoLogic()
     idEmprendimiento = Emprendimiento.getEmprendimientoById(id_emprendimiento)
     sql = (
         "select id_emprendedor from fishingdb.fundador "
         + f"where id_emprendimiento = {id_emprendimiento};"
     )
     print(sql)
     fundadores = dataBase.executeQuery(sql)
     listaFundadores = []
     for registro in fundadores:
         sql2 = (
             "insert into fishingdb.notificaciones (idnotificaciones, mensaje, id_emprendedor, fecha, hora) "
             + f"values (0, 'El inversor {id_inversor.getNombre()} le ha enviado un mensaje al emprendimiento {idEmprendimiento.getNombre()}', {registro[0]}, "
             + "current_date(), current_time());"
         )
         print(sql2)
         rows = dataBase.executeNonQueryRows(sql2)
         currentList = list(registro)
         listaFundadores.append(currentList[0])
     return listaFundadores
示例#2
0
 def insertNotificationCorreo(self, user, id_emprendedor):
     id_usuario = UserLogic()
     usuario = id_usuario.getUserByUser(user)
     Inversor = inversorLogic()
     id_inversor = Inversor.getIdInversor(usuario.getId())
     database = self.get_databaseXObj()
     sql = (
         "insert into fishingdb.notificaciones (idnotificaciones, mensaje, id_emprendedor, fecha, hora) "
         +
         f"values (0, 'El inversor {id_inversor.getNombre()} le ha enviado un mensaje', {id_emprendedor}, current_date(), current_time());"
     )
     print(sql)
     rows = database.executeNonQueryRows(sql)
     return rows
示例#3
0
 def insertNotificationFundador(self, user, id_emprendimiento):
     id_usuario = UserLogic()
     usuario = id_usuario.getUserByUser(user)
     Emprendedor = emprendedorLogic()
     Emprendimiento = emprendimientoLogic()
     id_emprendedor = Emprendedor.getEmprendedorByUser(usuario.getId())
     id_emprendimiento = Emprendimiento.getEmprendimientoById(id_emprendimiento)
     database = self.get_databaseXObj()
     sql = (
         "insert into fishingdb.notificaciones (idnotificaciones, mensaje, id_emprendedor, fecha, hora) "
         + f"values (0, 'te han añadido al emprendimiento {id_emprendimiento.getNombre()}', {id_emprendedor.getId()}, current_date(), current_time());"
     )
     print(sql)
     rows = database.executeNonQueryRows(sql)
     return rows
示例#4
0
    def insertNewFundador(self, user, idEmprendimiento):

        id_usuario = UserLogic()
        usuario = id_usuario.getUserByUser(user)

        infoEmprendedor = emprendedorLogic()
        id_emprendedor = infoEmprendedor.getEmprendedorByUser(usuario.getId())

        database = self.get_databaseXObj()
        sql = (
            "insert into heroku_c9cfc4eae6e8f6a.fundador (id, id_emprendedor, id_emprendimiento) "
            + f"values (0, {id_emprendedor.getId()}, {idEmprendimiento});")
        print(sql)
        rows = database.executeNonQueryRows(sql)
        return rows
示例#5
0
    def insertNewFundadorByName(self, user, name):

        id_usuario = UserLogic()
        usuario = id_usuario.getUserByUser(user)

        infoEmprendedor = emprendedorLogic()
        id_emprendedor = infoEmprendedor.getEmprendedorByUser(usuario.getId())

        id_emprendimiento = self.getEmprendimientoByName(name)

        database = self.get_databaseXObj()
        sql = (
            "insert into fishingdb.fundador (id, id_emprendedor, id_emprendimiento) "
            +
            f"values (0, {id_emprendedor.getId()}, {id_emprendimiento.getId()});"
        )
        print(sql)
        rows = database.executeNonQueryRows(sql)
        return rows
示例#6
0
    def updateFundador(self, id, user, name):

        id_usuario = UserLogic()
        usuario = id_usuario.getUserByUser(user)

        infoEmprendedor = emprendedorLogic()
        id_emprendedor = infoEmprendedor.getEmprendedorByUser(usuario.getId())

        infoEmprendimiento = emprendimientoLogic()
        id_emprendimiento = infoEmprendimiento.getEmprendimientoByName(name)

        database = self.get_databaseXObj()
        sql = (
            f"update fishingdb.fundador set fundador.id_emprendedor= {id_emprendedor.getId()}, "
            +
            f"fundador.id_emprendimiento={id_emprendimiento.getId()} where fundador.id = '{id}';"
        )
        print(sql)
        rows = database.executeNonQueryRows(sql)
        return rows
示例#7
0
    def checkUserAlredyExist(self, user, idEmprendimiento):
        id_usuario = UserLogic()
        usuario = id_usuario.getUserByUser(user)

        infoEmprendedor = emprendedorLogic()
        id_emprendedor = infoEmprendedor.getEmprendedorByUser(usuario.getId())
        dataBase = self.get_databaseXObj()
        sql = (
            "SELECT fundador.id FROM fishingdb.fundador "
            + f"where fundador.id_emprendedor = {id_emprendedor.getId()} and fundador.id_emprendimiento = {idEmprendimiento};"
        )
        print(sql)
        data = dataBase.executeQuery(sql)
        counter = 0
        for item in data:
            counter += 1

        if counter > 0:
            return True
        else:
            return False
示例#8
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")
示例#9
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")