def newUsuario(response, data): try: data["senha"] = auth.setAuth(response, { "email": data["email"], "senha": data["senha"], "level": "usuario" }, "usuario") try: if data["senha"]["error"]: return data["senha"] except Exception as e: pass usuario = Usuario(**data) usuario["timestamp"] = datetime.now() usuario["timeupdate"] = datetime.now() usuario.save() response.status = HTTP_201 return dataUsuario( json.loads( json.dumps(usuario.to_mongo().to_dict(), indent=4, sort_keys=True, default=str))) except Exception as e: return errorHandler.handleError(response, e)
def reset_pw_get(_id, _hash): usuario_id = get_session() if request.method == 'GET': if Usuario().has_usuario(_id)[0] <= 0: return redirect('/login') emailh = Usuario().find(_id)[3] if emailh == _hash.decode('base64'): return template('view/usuario/manage_password.tpl', _id=_id, _hash=_hash, usuario_id=usuario_id) return redirect('/login') elif request.method == 'POST': nova_senha = request.POST.nova_senha nova_senha2 = request.POST.nova_senha2 if nova_senha != nova_senha2: return redirect( '/message_err/Nova senha diferente da senha de confirmação!') emailh = Usuario().find(_id)[3] if emailh == _hash.decode('base64'): nova_senha = set_passwh(nova_senha) if Usuario().reset_password( nova_senha, _id) and Usuario().update_orderRecPw(_id, ''): return redirect('/message_err/Senha alterada com sucesso!')
def __init__(self, id, id_usuario, dtSolicitacao, dtEmprestimo, dtDevolucao, status, nome, numeroMatricula, departamento, email, telefone): self.id = id self.id_usuario = id_usuario self.dtSolicitacao = dtSolicitacao self.dtEmprestimo = dtEmprestimo self.dtDevolucao = dtDevolucao self.status = status Usuario.__init__(self, id, nome, numeroMatricula, departamento, email, telefone)
def usuario_login_post(): email = request.POST.email senha = request.POST.senha if Usuario().has_email(email)[0] <= 0: return redirect('/message_err/Conta não existe!') dado = Usuario().find_by_email(email) if check_password(senha, dado[2]): set_session('usuario_id', dado[0]) return redirect('/') return redirect('/message_err/Senha errada!')
def __init__(self, id, id_usuario, senha, ultimoAcesso, contaAtiva, isAdmin, nome, numeroMatricula, departamento, email, telefone): self.id = id self.id_usuario = id_usuario self.senha = senha self.ultimoAcesso = ultimoAcesso self.contaAtiva = contaAtiva self.isAdmin = isAdmin self.authenticated = False Usuario.__init__(self, id, nome, numeroMatricula, departamento, email, telefone)
def buscar_solicitacao(self, id): try: sql = " select s.nome" sql += " ,s.email" sql += " ,s.senha" sql += " ,e.id as id_empresa" sql += " from acesso.solicitacoes s" sql += " inner join acesso.empresas e on (e.cnpj = s.cnpj)" sql += " where s.id = '{}'" sql = sql.format(id) cursor = self.conn.cursor() cursor.execute(sql) rs = cursor.fetchone() usuario = [] if rs != None: usuario = Usuario(rs[3], 0, rs[0], rs[1], rs[2]) except Exception as ex: raise Exception(ex) else: return usuario
def get(self): user = Usuario.get_current_user() if user: url_user = users.create_logout_url("/") recetas = [] listafavs = [] favoritos = Favorito.query(Favorito.usuario == user.user_id) for favorito in favoritos: listafavs.append(favorito.receta_id) for favorito in favoritos: recetas.append(Receta.get_by_id(favorito.receta_id)) valores_plantilla = { "favoritos": listafavs, "user": user, "url_user": url_user, "recetas": recetas } jinja = jinja2.get_jinja2(app=self.app) self.response.write( jinja.render_template("mis_favoritos.html", **valores_plantilla)) else: return self.redirect("/")
def listarUser(): with closing(con()) as connection, closing(connection.cursor()) as cursor: cursor.execute(f"SELECT * from usuarios") rows = cursor.fetchall() registros = [] for (id, nome, numeroMatricula, departamento, email, telefone) in rows: registros.append(Usuario.criar({ "id":id, "nome":nome,"numeroMatricula":numeroMatricula,"departamento":departamento,"email":email, "telefone":telefone})) return registros
def insert_post(): nome = request.POST.nome.strip() email = request.POST.email.strip() senha = request.POST.senha.strip() salt = bcrypt.gensalt() hashed = bcrypt.hashpw(senha.encode("utf-8"),salt) Usuario().insert(nome,email,hashed) return redirect('/list')
def inclui_usuario(self, respostas=None): if respostas is None: respostas = self.__telaCadastro.cadastro(tipo=TipoPessoa.USUARIO) usuario = Usuario(respostas["nome"], respostas["telefone"], respostas["matricula"]) for user in self.__cadastro.usuarios: if usuario.matricula == user.matricula: raise UsuarioDuplicadoException self.__cadastro.usuarios.append(usuario) return usuario
def usuario_edit_post(): has_session() nome = request.POST.nome email = request.POST.email cpf = request.POST.cpf telefone = request.POST.telefone usuario_id = get_session() data_alteracao = str(datetime.now())[0:19] dado = Usuario().find(usuario_id)[1] if dado != email: if Usuario().has_email(email)[0] > 0: return redirect('/message_err/Email em uso!') if Conta().update(nome, cpf, telefone, data_alteracao, usuario_id): return redirect("/usuario/profile") return redirect( '/message_err/Ocorreu um erro!<br/>Não foi possivel realizar as alterações.' )
def get(self): user = Usuario.get_current_user() if user: receta = Receta.recupera(self.request) if receta.usuario == user.user_id: receta.key.delete() time.sleep(1) return self.redirect("/") else: self.redirect("/")
def sign_up(self, nome, email, senha, setor): self.data_usuarios.open() usuario = Usuario(nome, email, senha, setor) success = self.data_usuarios.insert_usuario(usuario) if success: print("Funcionario cadastrado com sucesso!") else: print("Nao foi possivel cadastrar o Funcionario.") self.data_usuarios.close() return success
def reset_password_get(): has_session() senha_atual = request.POST.senha_atual nova_senha = request.POST.nova_senha nova_senha2 = request.POST.nova_senha2 if nova_senha != nova_senha2: return redirect( '/message_err/Nova senha diferente da senha de confirmação!') usuario_id = get_session() dado = Usuario().find(usuario_id) if not check_password(senha_atual, dado[2]): return redirect('/message_err/Senha atual incorreta!') nova_senha = set_passwh(nova_senha) if Usuario().reset_password(nova_senha, get_session()): return redirect('/') return redirect(request.path)
def get(self): user = Usuario.get_current_user() if user: receta = Receta.recupera(self.request) if receta: favorito = Favorito(usuario=user.user_id, receta_id=receta.key.id()) favorito.put() time.sleep(1) return self.redirect("/") else: return self.redirect("/")
def createUser(self, nombre, email, contraseña, id_cargo): sql = 'SELECT MAX(id_usuario)+1 FROM usuario' id_usuario = self.sqlserver.selectn(sql)[0][0] if id_usuario is None: id_usuario = 1 usuario = Usuario(id_usuario = id_usuario, nombre = nombre, email = email, contraseña = contraseña, id_cargo = id_cargo) sql = '''INSERT INTO usuario (ID_USUARIO, NOMBRE, CORREO, CONTRASENA, ID_CARGO) VALUES (?, ?, ?, ?, ?);''' val = (usuario.id_usuario, usuario.nombre, usuario.email, usuario.contraseña, usuario.id_cargo) print (val) self.sqlserver.insert(sql, val)
def add(): if request.method == 'POST': idao = IdeiaDao() user = Usuario(cod=session["cod"]) ideia = Ideia(titulo=request.form['titulo'], descricao=request.form['descricao'], usuario=user) idao.salvar(ideia) return redirect(url_for('index')) else: return redirect(url_for('index'))
def verifylogin(username, password): usrdao = UsuarioDao() usr = Usuario(login=username, senha=password) verify = usrdao.buscar(usr) if verify: session['cod'] = verify.cod session['nome'] = verify.nome session['login'] = verify.login return True else: return False
def incluir_usuario(self, nome: str, email: str, id_usuario: str): try: for usuario in self.__usuarios: if usuario.id_usuario == id_usuario: raise Exception() except Exception: self.__tela.show_message("Usuários", "Usuário já existente no sistema") else: self.__usuarios.append(Usuario(nome, email, id_usuario)) self.__tela.show_message("CADASTRO DE USUÁRIOS", "Usuário cadastrado com sucesso!")
def post(self): usr = users.get_current_user() # Si se ha logeado alguien, creo dicho usuario y si no es la primera vez lo modifica. if usr: usuarios = Usuario.query() email = usr.email() usuario = Usuario(email=usr.email()) usuario.put() posts = Post.query().order(Post.hora) jinja = jinja2.get_jinja2(app=self.app) valores_plantilla = { "usuarios": usuarios, "posts": posts, "email": email } self.response.write(jinja.render_template("home.html", **valores_plantilla))
def recovery_pw_get_post(): if request.method == 'GET': usuario_id = get_session() return template('view/usuario/check_email.tpl', usuario_id=usuario_id) elif request.method == 'POST': email = request.POST.email if Usuario().has_email(email)[0] > 0: usuario_id = Usuario().find_by_email(email)[0] emailh = set_passwh(email) if Usuario().update_orderRecPw(usuario_id, emailh): pass url = 'http://localhost:8080/usuario/reset_pw/%d/%s' % ( usuario_id, emailh.encode('base64')) texto = 'Copie e cole em seu navegador o link: ' + url Servico().sendEmail(email, 'Esqueci minha senha', texto) return redirect( '/message_err/Enviamos um link para seu email para você redefinir sua senha, Verifique na caixa de entrada ou na de spam.' ) return redirect('/message_err/Conta não existe!')
def alt(): if request.method == 'POST': idao = IdeiaDao() ideia = idao.buscar(request.form['cod']) ideia.titulo = request.form['titulo'] ideia.descricao = request.form['descricao'] user = Usuario(cod=request.form['usuario']) ideia.usuario = user idao.salvar(ideia) return redirect(url_for('listar')) else: return redirect(url_for('index'))
def get(self): user = Usuario.get_current_user() if user: receta = Receta.recupera(self.request) favoritos = Favorito.query(Favorito.usuario == user.user_id, Favorito.receta_id == receta.key.id()) if favoritos: for i in favoritos: i.key.delete() time.sleep(1) return self.redirect("/") else: return self.redirect("/")
def login_post(): email = str(request.POST.email) print(type(email)) senha = request.POST.senha dado = Usuario().check_user(email) senhah = dado[1] if(bcrypt.hashpw(senha.encode(),senhah.encode()) == dado[1]): _session_ = request.environ['beaker.session'] print(type(_session_)) _session_["usuario"] = dado[0] _session_.save() return redirect("/") else: print("Dados incorretos")
def query_usuario_by_email(self, email): try: self.c.execute(QUERY_USUARIO_BY_EMAIL, (email, )) user_data = self.c.fetchone() if user_data is None: return None _id = user_data[0] nome = user_data[1] email = user_data[2] senha = user_data[3] setor = user_data[4] return Usuario(nome, email, senha, setor, _id) except sqlite3.Error as e: return None
def usuario_register_post(): nome = request.POST.nome email = request.POST.email senha = request.POST.senha senha2 = request.POST.senha2 cpf = request.POST.cpf telefone = request.POST.telefone data_criacao = str(datetime.now())[0:19] if senha != senha2: return redirect('/message_err/Senhas diferentes!') senha = set_passwh(senha) if Usuario().has_email(email)[0] > 0: return redirect('/message_err/Email em uso!') if Usuario().add(email, senha): usuario_id = Usuario().find_by_email(email)[0] if Conta().add(usuario_id, nome, cpf, telefone, data_criacao): set_session('usuario_id', usuario_id) return redirect("/")
def get(self): user = Usuario.get_current_user() if user: url_user = users.create_logout_url("/") valores_plantilla = { "user": user, "url_user": url_user } jinja = jinja2.get_jinja2(app=self.app) self.response.write(jinja.render_template("nueva_receta.html", **valores_plantilla)) else: return self.redirect("/")
def buscar(self, usuario): try: with connect(self._dados_con) as conn: cur = conn.cursor() cur.execute('SELECT * FROM "usuario" WHERE "login"=%s and "senha"=md5(%s)', [usuario.login, usuario.senha]) row = cur.fetchone() conn.commit() cur.close() if row == None: return False else: usr = Usuario(cod = row[0], nome = row[1], login = row[2]) return usr except BaseException as e: print ("Problema no buscar -- exception seguindo para ser tratada") raise e
def usuario_delete_post(): has_session() usuario_id = get_session() if Conta().delete_by_usuario(usuario_id): print 'Conta deletada!' if Usuario().delete(usuario_id): print 'Usuario deletado!' if Evento().update_status_by_usuario(0, usuario_id): print 'Eventos inativos!' if Ingresso().update_status_by_usuario(0, usuario_id): print 'Ingressos inativos!' if Carrinho().delete_by_usuario(usuario_id): print 'Carrinho deletado!' del_session() return redirect('/')
def buscar(self, cod): try: with connect(self._dados_con) as conn: cur = conn.cursor() cur.execute('SELECT i."cod", i."titulo", i."descricao", i."datahoraatualizacao",\ u."cod",u."nome", u."login" FROM "ideia" i LEFT JOIN "usuario" u \ ON u."cod" = i."codusuario" WHERE i."cod"=%s', [cod]) row = cur.fetchone() u = Usuario(cod=row[4], nome=row[5], login=row[6]) ideia =Ideia(usuario=u, cod=row[0], titulo=row[1], descricao=row[2], \ datahoraatualizacao=row[3]) conn.commit() cur.close() return ideia except BaseException as e: print ("Problema no buscar -- exception seguindo para ser tratada") raise e