def perfil(ID): # print(ID) if "ID" in session: objUsuario = Usuario() objBitacora = Bitacora() objConfig = ConfiguracionCorreo() bitacora = objBitacora.listarBitacora() listaConfig = objConfig.listarConfigCorreo() objUsuario.setID(int(ID)) usuario = objUsuario.getInfoUsuario() objEnc = Encriptador() if request.method == "GET" and str(ID) == str(session['ID']): objEnc = Encriptador() if len(usuario) > 0: contra = objEnc.Desencriptar(str(usuario[0].Password)) return render_template('perfil.html',usuario=usuario[0], contra=contra, listaConfig=listaConfig, bitacora=bitacora) elif request.method == "POST" and str(ID) == str(session['ID']): boolImg = True imagen = "" if request.files: imagen = request.files["avatar"] if not imagenPermitida(imagen.filename): boolImg = False else: if str(usuario[0].Avatar) != "default-user.jpg": os.remove(os.path.join(app.config['IMAGE_UPLOADS'],str(usuario[0].Avatar))) ext = imagen.filename.rsplit(".",1)[1] nombreArchivo = str(uuid.uuid4().hex+"."+ext) objUsuario.setAvatar(str(nombreArchivo)) if boolImg: objUsuario.setNombre(request.form['nombre']) objUsuario.setCedula(request.form['cedula']) objUsuario.setEmail(request.form['email']) objUsuario.setIDEmpresa(int(session['Empresa'])) objUsuario.setTipo(int(session['Tipo'])) objUsuario.setID(int(session['ID'])) objUsuario.setContra(objEnc.Encriptar(str(request.form['contra']))) if objUsuario.modificarPerfil(): if imagen != "": imagen.save(os.path.join(app.config['IMAGE_UPLOADS'],nombreArchivo)) session["Avatar"] = nombreArchivo return "Exito" else: return "Error" else: return redirect(url_for('inicio.index')) else: return redirect(url_for('inicio.index'))
def modificarUsuario(ID): if "ID" in session and session['Tipo'] in [1,2,5] and str(ID) != str(session['ID']): objEmp = Empresa() objDep = Departamento() objEnc = Encriptador() objEmpDep = EmpresaDepartamento() objUsuario = Usuario() try: ID = int(ID) except: return redirect(url_for('inicio.index')) objUsuario.setID(ID) usuario = objUsuario.getInfoUsuario() empresas = objEmp.ListarEmpresasXEstado(1) if request.method == "GET": if len(usuario) > 0: deps = objEmpDep.ListarDepartamentosEmp(int(usuario[0].IdEmpresa)) contra = objEnc.Desencriptar(str(usuario[0].Password)) return render_template('modificarUsuario.html',usuario=usuario[0], contra=contra, empresas=empresas, departamentos=deps, usuarioActual=session['Tipo']) elif request.method == "POST": boolImg = True imagen = "" if request.files: imagen = request.files["avatar"] if not imagenPermitida(imagen.filename): boolImg = False else: print(imagen.filename) if str(usuario[0].Avatar) != "default-user.jpg": os.remove(os.path.join(app.config['IMAGE_UPLOADS'],str(usuario[0].Avatar))) ext = imagen.filename.rsplit(".",1)[1] nombreArchivo = str(uuid.uuid4().hex+"."+ext) objUsuario.setAvatar(str(nombreArchivo)) if boolImg: idEmp = request.form['empresa'].rsplit('-')[0] idDep = request.form['departamento'] if request.form['departamento'] != 'null' else 0 tipo = int(request.form['tipo']) objUsuario.setNombre(request.form['nombre']) objUsuario.setCedula(request.form['cedula']) objUsuario.setEmail(request.form['email']) url = request.form['url'] if int(session['Tipo']) == 2: if tipo in[1,2,5,6]: return "Error" elif int(session['Tipo']) == 5: if tipo in [1,2,3,4,5]: return "Error" elif int(session['Tipo']) in [3,4,6]: return "Error" objUsuario.setTipo(tipo) objUsuario.setIdDep(int(idDep)) objUsuario.setIDEmpresa(int(idEmp)) objUsuario.setID(int(request.form['id'])) if tipo == 2 and objUsuario.existeTipoUsuario(): return "Gerente Existe" elif tipo == 5 and objUsuario.existeTipoUsuario(): return "ClienteM Existe" objUsuario.setContra(objEnc.Encriptar(str(request.form['contra']))) objEmp.setID(idEmp) objDep.setID(idDep) depDestino = objDep.consultarID() if len(objDep.consultarID()) > 0 else 0 empDestino = objEmp.consultarID() if len(objEmp.consultarID()) > 0 else 0 depActivo = True empActiva = True if depDestino != 0: if depDestino[0].Activo == 0: depActivo = False if empDestino != 0: if empDestino[0].Activo == 0: empActiva = False if depActivo and empActiva: if objUsuario.modificarPerfil(): if imagen != "": imagen.save(os.path.join(app.config['IMAGE_UPLOADS'],nombreArchivo)) return "Exito" else: return "Error" else: return "inactivo" return redirect(url_for('inicio.index'))