Esempio n. 1
0
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)
Esempio n. 2
0
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!')
Esempio n. 3
0
 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)
Esempio n. 4
0
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!')
Esempio n. 5
0
    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)
Esempio n. 6
0
    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
Esempio n. 7
0
    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
Esempio n. 9
0
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')
Esempio n. 10
0
 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
Esempio n. 11
0
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.'
    )
Esempio n. 12
0
 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("/")
Esempio n. 13
0
 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
Esempio n. 14
0
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)
Esempio n. 15
0
 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)
Esempio n. 17
0
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'))
Esempio n. 18
0
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
Esempio n. 19
0
 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!")
Esempio n. 20
0
    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))
Esempio n. 21
0
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!')
Esempio n. 22
0
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'))
Esempio n. 23
0
 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("/")
Esempio n. 24
0
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
Esempio n. 26
0
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("/")
Esempio n. 27
0
    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("/")
Esempio n. 28
0
 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 
Esempio n. 29
0
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('/')
Esempio n. 30
0
 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