def salvar(_resp, nome, email, google_id):
    usuario = Usuario(nome = nome, email = email, google_id = google_id)
    key = usuario.put()

    json_str = json.dumps({'id':key.id()})

    _resp.write(json_str)
예제 #2
0
 def test_sucesso(self):
     usuario_logado = Usuario()
     usuario_logado.put()
     handler = Mock()
     crud.salvar(handler, usuario_logado, 'INFORMATICA', 'BASICA')
     cursos = Curso.query().fetch()
     self.assertEqual(1, len(cursos))
     curso = cursos[0]
     self.assertEqual('INFORMATICA', curso.nome)
     self.assertEqual('BASICA', curso.descricao)
     handler.redirect.assert_called_once_with('/curso')
예제 #3
0
 def test_sucesso(self):
     usuario_logado = Usuario()
     usuario_logado.put()
     handler = Mock()
     crud.salvar(handler, usuario_logado, 'INFORMATICA', 'BASICA')
     cursos = Curso.query().fetch()
     self.assertEqual(1, len(cursos))
     curso = cursos[0]
     self.assertEqual('INFORMATICA', curso.nome)
     self.assertEqual('BASICA', curso.descricao)
     handler.redirect.assert_called_once_with('/curso')
def editar(_resp, idUsuario, nome, email):
    usuario = Usuario.get_by_id(int(idUsuario))

    usuario.nome = nome
    usuario.email = email

    usuario.put()
예제 #5
0
def execute(next_process, handler, dependencies, **kwargs):
    usuario_google = users.get_current_user()
    if usuario_google:
        google_id = usuario_google.user_id()
        query = Usuario.query_by_google(google_id)
        usuario_logado = query.get()
        if not usuario_logado:
            usuario_logado = Usuario(nome=usuario_google.nickname(), email=usuario_google.email(), google_id=google_id)
            usuario_logado.put()
        logout_url = users.create_logout_url("/")
        dependencies["_usuario_logado"] = usuario_logado
        dependencies["_logout_url"] = logout_url
    else:
        dependencies["_usuario_logado"] = None
        dependencies["_login_url"] = users.create_login_url("/")

    next_process(dependencies, **kwargs)
예제 #6
0
파일: rest.py 프로젝트: osushipower/tg
def buscarListas(_resp, _usuario_logado):
    usuarios = Usuario.query().fetch()
    listas = []
    for index, usuario in enumerate(usuarios):
        listas.append({})
        listas[index]["usuario"] = usuario.firstname
        listas[index]["listas_usuario"] = [lista.get().to_dict() for lista in usuario.listas]
        listas[index]["data_ingresso"] = usuario.data_ingresso
    _resp.write(json.dumps(listas))
예제 #7
0
def execute(next_process, handler, dependencies, **kwargs):
    user = users.get_current_user()
    if user:
        google_id = user.user_id()
        query = Usuario.query_by_google(google_id)
        usuario_logado = query.get()
        if not usuario_logado:
            usuario_logado = Usuario(nome=user.nickname(),
                                     email=user.email(),
                                     google_id=google_id)
            usuario_logado.put()
        logout_url = users.create_logout_url('/')
        dependencies['usuario_logado'] = usuario_logado
        dependencies['logout_url'] = logout_url
    else:
        dependencies['usuario_logado'] = False
        dependencies['login_url'] = users.create_login_url('/')

    next_process(dependencies, **kwargs)
예제 #8
0
def execute(next_process, handler, dependencies, **kwargs):
    user = users.get_current_user()
    if user:
        google_id = user.user_id()
        query = Usuario.query_by_google(google_id)
        usuario_logado = query.get()
        if not usuario_logado:
            usuario_logado = Usuario(nome=user.nickname(),
                                     email=user.email(),
                                     google_id=google_id)
            usuario_logado.put()
        logout_url=users.create_logout_url('/')
        dependencies['usuario_logado']= usuario_logado
        dependencies['logout_url']= logout_url
    else:
        dependencies['usuario_logado']= False
        dependencies['login_url'] = users.create_login_url('/')


    next_process(dependencies, **kwargs)
def listar(_resp):
    json_struct = []

    usuarios = Usuario.query()
    for usu in usuarios:
        json_struct += [{"nome": usu.nome,
                        "email": usu.email,
                        "google_id": usu.google_id,
                        "id": usu.key.id()}]
    json_str = json.dumps(json_struct)
    _resp.write(json_str)
예제 #10
0
def registrar_colegio():
    if request.method == "POST":
        data = request.json
        usuario = Usuario.query.filter_by(
            correo=data.get("colegio").get("correo")).first()
        if usuario:
            return "Correo ya registrado en el sistema."
        else:
            hashed_pass = generate_password_hash(
                data.get("colegio").get("password"))
            usuario = Usuario(correo=data.get("colegio").get("correo"),
                              password=hashed_pass,
                              id_tipo_usuario=2)
            db.session.add(usuario)
            db.session.flush()
            colegio = Colegio(nombre=data.get("colegio").get("nombre"),
                              id_usuario=usuario.id)
            db.session.add(colegio)
            db.session.commit()
            return "ok"
예제 #11
0
def registro_aspirante():
    error = None
    mensaje = None
    colegios = db.session.query(Colegio, Usuario).filter(Colegio.id_usuario == Usuario.id, Usuario.live == True,
                                                         Usuario.id_tipo_usuario == 2).all()
    if request.method == "POST":
        form = request.form
        usuario = Usuario.query.filter_by(correo=form["correo"]).first()
        if usuario:
            error = "Usuario ya registrado."
        else:
            hashed_pass = generate_password_hash(form["password"])
            usuario = Usuario(
                correo=form["correo"],
                password=hashed_pass,
                id_tipo_usuario=1
            )
            db.session.add(usuario)
            db.session.flush()
            aspirante = Aspirante(
                nombres=form["nombres"],
                apellidos=form["apellidos"],
                id_usuario=usuario.id
            )
            db.session.add(aspirante)
            db.session.flush()
            if form["colegio"] != '0':
                colegio = Colegio.query.filter_by(id=form["colegio"]).first()
                aspirante_colegio = AspiranteColegio(
                    id_colegio=colegio.id,
                    id_aspirante=aspirante.id
                )
                db.session.add(aspirante_colegio)
                db.session.flush()
            mensaje = "Datos guardados en el sistema."
            db.session.commit()
    return render_template('aspirante/registro_aspirante.html', mensaje=mensaje, error=error, colegios=colegios)
def index(_write_tmpl):
    usuarios = Usuario.query()
    dct = {'lista_cursos': usuarios.fetch()}
    _write_tmpl('templates/listar.html', dct)
def remover(_resp, idUsuario):
    usuario = Usuario.get_by_id(int(idUsuario))
    usuario.key.delete()
예제 #14
0
 def setUp(self):
     prepare_to_test()
     Usuario(nome="liu", email="*****@*****.**").put()
예제 #15
0
파일: negocio.py 프로젝트: renzon/livrogae
 def set_up(self):
     query = Usuario.query_por_nome(self.nome)
     self.__future = query.fetch_async(50)
예제 #16
0
    def test_add_user(self):
        users_service.add_user("iury", "*****@*****.**").put()

        user = Usuario.query(Usuario.nome=="iury", Usuario.email=="*****@*****.**").get()
        self.assertIsNotNone(user)
예제 #17
0
    def test_add_user_with_google_id(self):
        users_service.add_user("iury", "*****@*****.**", google_id="122132").put()

        user = Usuario.query(Usuario.nome=="iury", Usuario.google_id=="122132").get()
        self.assertIsNotNone(user)
예제 #18
0
파일: usuario.py 프로젝트: renzon/livrogae
def index(_write_tmpl, pagina_origem=1, direcao_busca='FRENTE',
          cursor_urlsafe='None', pagina_destino=1):
    BUSCA_FRENTE = 'FRENTE'
    BUSCA_TRAS = 'TRAS'
    #tranformacao e calculo de parametros
    pagina_origem = int(pagina_origem)
    pagina_destino = int(pagina_destino)
    TAMANHO_DA_PAGINA = 2
    nova_direcao_busca = BUSCA_TRAS if (pagina_destino - pagina_origem) < 0 else BUSCA_FRENTE

    if cursor_urlsafe == 'None':
        cursor_urlsafe = None
    cursor = Cursor(urlsafe=cursor_urlsafe)

    # Funcao para definir se o usuario esta decrementando ou incrimentando a pagina
    def direcao_pesquisa_mudou():
        return direcao_busca != nova_direcao_busca

    #Calculo do offset de acordo com mudanca de direcao na busca
    offset = 0
    if cursor_urlsafe is not None:
        offset = abs(pagina_destino - pagina_origem)
        offset = offset if direcao_pesquisa_mudou() else max(offset - 1, 0)
        offset *= TAMANHO_DA_PAGINA

    #Funcao de pesquisa de usuarios
    def pesquisar_usuarios(query, cursor, offset):
        if direcao_pesquisa_mudou() and cursor:
            cursor = cursor.reversed()
        return query.fetch_page_async(TAMANHO_DA_PAGINA,
                                      offset=offset,
                                      start_cursor=cursor)

    #Pesquisa assincrona de usuarios de acordo com direcao da busca
    if nova_direcao_busca == BUSCA_TRAS:
        query = Usuario.query().order(-Usuario.nome)
        usuarios_future = pesquisar_usuarios(query, cursor, offset)
    else:
        query = Usuario.query().order(Usuario.nome)
        usuarios_future = pesquisar_usuarios(query, cursor, offset)

    #Setup de numeração de páginas
    pagina_inicial = max(1, pagina_destino - 2)
    pagina_final = pagina_inicial + 4
    pagina_anterior = max(pagina_inicial, pagina_destino - 1)

    #Construção de parâmetros a serem renderizados pelo template
    dct = {'adicionar_usuario_google_path': router.to_path(google),
           'adicionar_usuario_face_path': router.to_path(face),
           'pagina_atual': pagina_destino,
           'pagina_inicial': pagina_inicial,
           'pagina_final': pagina_final,
           'pagina_anterior': pagina_anterior,
           'pagina_posterior': pagina_destino + 1}

    usuarios, cursor, mais_resultados = usuarios_future.get_result()

    # revertando resultado para manter ordem crescente na visualizacao de busca
    if nova_direcao_busca == BUSCA_TRAS:
        usuarios.reverse()

    cursor_urlsafe = cursor.urlsafe() if cursor else 'None'
    dct['home_path'] = router.to_path(index,
                                      pagina_destino,
                                      nova_direcao_busca, cursor_urlsafe)
    dct['usuarios'] = usuarios
    _write_tmpl("/templates/usuario_home.html", dct)