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 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 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 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")
def emprendedor(): logic = emprendedorLogic() message = "" verdadero = False if request.method == "GET": data = logic.getAllEmprendedores() return render_template("emprendedor.html", data=data, message=message) elif request.method == "POST": formId = int(request.form["formId"]) # Inserta una categoría if formId == 1: nombre = request.form["nombre"] email = request.form["email"] telefono = request.form["telefono"] id_usuario = request.form["id_usuario"] pais = request.form["pais"] ciudad = request.form["ciudad"] biografia = request.form["biografia"] try: logic.insertNewEmprendedor(nombre, email, telefono, id_usuario, pais, ciudad, biografia) data = logic.getAllEmprendedores() message = "Se ha insertado un nuevo usuario" except mysql.connector.Error as error: print("Failed inserting BLOB data into MySQL table {}".format( error)) message = "No se puede insertar. No existe el id usuario" data = logic.getAllEmprendedores() return render_template("emprendedor.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 mysql.connector.Error 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() return render_template("emprendedor.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"] id_usuario = request.form["id_usuario"] pais = request.form["pais"] ciudad = request.form["ciudad"] biografia = request.form["biografia"] verdadero = True data = logic.getAllEmprendedores() return render_template( "emprendedor.html", data=data, message=message, verdadero=verdadero, id=id, nombre=nombre, email=email, telefono=telefono, id_usuario=id_usuario, 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"] id_usuario = request.form["id_usuario"] pais = request.form["pais"] ciudad = request.form["ciudad"] biografia = request.form["biografia"] try: logic.updateEmprendedor(id, nombre, email, telefono, id_usuario, pais, ciudad, biografia) data = logic.getAllEmprendedores() message = "Se ha modificado con éxito" except mysql.connector.Error as error: print("Failed inserting BLOB data into MySQL table {}".format( error)) message = "No se puede modificar. No existe el id usuario" data = logic.getAllEmprendedores() return render_template("emprendedor.html", data=data, message=message)
def ProfileEmp(): try: logic = emprendedorLogic() logicEmprendimiento = emprendimientoLogic() user = session["user"] idUsuario = int(user["id"]) data = logic.getDatosGeneralesById(idUsuario) idEmprendedor = data[0]["id"] emprendedor = data[0] session["emprendedor"] = emprendedor if request.method == "GET": # Datillos dataEmprendimiento = logicEmprendimiento.getAllEmprendimientosByIdEmprendendor( idEmprendedor) data2 = logic.getNotification(idEmprendedor) return render_template( "emprendedorProfile.html", data=data, dataEmprendimiento=dataEmprendimiento, data2=data2, nombre=emprendedor["nombre"], email=emprendedor["email"], pais=emprendedor["pais"], ciudad=emprendedor["ciudad"], telefono=emprendedor["telefono"], biografia=emprendedor["biografia"], ) elif request.method == "POST": verdadero = False verdaderoEmprendimiento = False formId = int(request.form["formId"]) data2 = logic.getNotification(idEmprendedor) # Modificar informacion personal if formId == 1: id = idUsuario emprendedor = session["emprendedor"] nombre = emprendedor["nombre"] email = emprendedor["email"] telefono = emprendedor["telefono"] pais = emprendedor["pais"] ciudad = emprendedor["ciudad"] biografia = emprendedor["biografia"] verdadero = True dataEmprendimiento = logicEmprendimiento.getAllEmprendimientosByIdEmprendendor( idEmprendedor) data = logic.getDatosGeneralesById(id) return render_template( "emprendedorProfile.html", id=id, data=data, data2=data2, dataEmprendimiento=dataEmprendimiento, verdadero=verdadero, nombre=nombre, email=email, telefono=telefono, pais=pais, ciudad=ciudad, biografia=biografia, ) # Aplicar cambios en informacion general elif formId == 2: emprendedor = session["emprendedor"] data2 = logic.getNotification(idEmprendedor) nombre = request.form["nombre"] email = request.form["email"] telefono = request.form["telefono"] pais = request.form["pais"] ciudad = request.form["ciudad"] biografia = request.form["biografia"] foto = request.files["fileToUpload"] nombre_foto = foto.filename if foto.filename == "": logic.updateEmprendedorbyIdUsuario(idUsuario, nombre, email, telefono, pais, ciudad, biografia) else: binary_foto = foto.read() logic.updateEmprendedorbyIdUsuarioWithPhoto( idUsuario, nombre, email, telefono, pais, ciudad, biografia, binary_foto, ) data = logic.getDatosGeneralesById(idUsuario) dataEmprendimiento = logicEmprendimiento.getAllEmprendimientosByIdEmprendendor( idEmprendedor) return render_template( "emprendedorProfile.html", data=data, data2=data2, dataEmprendimiento=dataEmprendimiento, nombre=emprendedor["nombre"], email=emprendedor["email"], pais=emprendedor["pais"], ciudad=emprendedor["ciudad"], telefono=emprendedor["telefono"], biografia=emprendedor["biografia"], ) # Crear nuevo emprendimiento elif formId == 3: verdaderoEmprendimiento = True emprendedor = session["emprendedor"] dataEmprendimiento = logicEmprendimiento.getAllEmprendimientosByIdEmprendendor( idEmprendedor) data = logic.getDatosGeneralesById(idUsuario) return render_template( "emprendedorProfile.html", data=data, data2=data2, dataEmprendimiento=dataEmprendimiento, verdaderoEmprendimiento=verdaderoEmprendimiento, nombre=emprendedor["nombre"], email=emprendedor["email"], pais=emprendedor["pais"], ciudad=emprendedor["ciudad"], telefono=emprendedor["telefono"], biografia=emprendedor["biografia"], ) # Insertar nuevo emprendimiento elif formId == 4: data2 = logic.getNotification(idEmprendedor) id_emprendedor = idEmprendedor estado = request.form["estado"] descripcion = request.form["descripcion"] historia = request.form["historia"] eslogan = request.form["eslogan"] inversion_inicial = request.form["inversion_inicial"] fecha_fundacion = request.form["fecha_fundacion"] venta_año_anterior = request.form["venta_año_anterior"] nombre = request.form["nombre"] foto = request.files["fileToUpload"] nombre_foto = foto.filename video = request.form["video"] email = request.form["email"] telefono = request.form["telefono"] facebook = request.form["facebook"] instagram = request.form["instagram"] youtube = request.form["youtube"] emprendedor = session["emprendedor"] if foto.filename == "": nombre_foto = "default.png" logicEmprendimiento.insertNewEmprendimientoWithoutPhoto( estado, descripcion, historia, eslogan, inversion_inicial, fecha_fundacion, venta_año_anterior, id_emprendedor, nombre, nombre_foto, video, email, telefono, facebook, instagram, youtube, ) else: binary_foto = foto.read() logicEmprendimiento.insertNewEmprendimiento( estado, descripcion, historia, eslogan, inversion_inicial, fecha_fundacion, venta_año_anterior, id_emprendedor, nombre, binary_foto, video, email, telefono, facebook, instagram, youtube, ) data = logic.getDatosGeneralesById(idUsuario) emprendedor = session["emprendedor"] dataEmprendimiento = logicEmprendimiento.getAllEmprendimientosByIdEmprendendor( id_emprendedor) return render_template( "emprendedorProfile.html", data=data, data2=data2, dataEmprendimiento=dataEmprendimiento, nombre=emprendedor["nombre"], email=emprendedor["email"], pais=emprendedor["pais"], ciudad=emprendedor["ciudad"], telefono=emprendedor["telefono"], biografia=emprendedor["biografia"], ) # Sale del emprendimiento by IdEmprendimiento elif formId == 5: data2 = logic.getNotification(idEmprendedor) id_emprendimiento = int(request.form["id"]) logicEmprendimiento.salirEmprendimiento( idEmprendedor, id_emprendimiento) data = logic.getDatosGeneralesById(idUsuario) dataEmprendimiento = logicEmprendimiento.getAllEmprendimientosByIdEmprendendor( idEmprendedor) return render_template( "emprendedorProfile.html", data=data, data2=data2, dataEmprendimiento=dataEmprendimiento, nombre=emprendedor["nombre"], email=emprendedor["email"], pais=emprendedor["pais"], ciudad=emprendedor["ciudad"], telefono=emprendedor["telefono"], biografia=emprendedor["biografia"], ) # Va hacia el emprendimiento que se selecciona elif formId == 6: id = int(request.form["id"]) emprendimiento = logicEmprendimiento.getEmprendimientoById(id) session["emprendimiento"] = emprendimiento.id return redirect("/emprendimientoInicio") 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")