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
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
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
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
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
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
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
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")
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")