Example #1
0
def index(_resp, categoria_selecionada=""):

    editar_path_base = to_path(editar)
    deletar_path_base = to_path(deletar)
    produtos = Produto.query().fetch()

    for prod in produtos:
        prod.editar_path = to_path(editar_path_base, prod.key.id())
        prod.deletar_path = to_path(deletar_path_base, prod.key.id())

    contexto = {'categorias': Categoria.query()}

    if categoria_selecionada == "":
        contexto['produtos'] = Produto.query_ordenada_por_nome().fetch()
        contexto['categoria_selecionada'] = None
    else:
        # sql = ndb.Key(Categoria, int(categoria_selecionada))
        # contexto['produtos']=Produto.query(Produto.categoria==sql).fetch()
        contexto['produtos'] = Produto.query_por_categoria_ordenada_por_nome(
            categoria_selecionada).fetch()
        contexto['categoria_selecionada'] = Categoria.get_by_id(
            int(categoria_selecionada))

    contexto['resultados'] = len(contexto['produtos'])
    return TemplateResponse(contexto)
Example #2
0
def atualizar(**propriedades):
    propriedades['categoria'] = ndb.Key(Categoria,
                                        int(propriedades['categoria']))
    produto_form = validation.ProdutoForm(**propriedades)
    erros = produto_form.validate()
    if erros:
        contexto = {
            'acao': 'atualizar',
            'erros': erros,
            'produto': produto_form,
            'categorias': Categoria.query_ordenada_por_nome(),
            'validacao_id': Produto.get_by_id(int(propriedades['produto_id']))
        }
        return TemplateResponse(contexto,
                                template_path='produtos/admin/cadastro.html')
    else:
        produto_id = propriedades['produto_id']
        produto = Produto.get_by_id(int(produto_id))
        produto.nome = propriedades['nome']
        produto.categoria = propriedades['categoria']
        produto.preco = float(propriedades['preco'])
        produto.descricao = propriedades['descricao']
        produto.novidade = propriedades['novidade']

        produto.put()
        return RedirectResponse('/produtos/admin')
Example #3
0
def index(produto_id):
    produto = Produto.get_by_id(int(produto_id))
    contexto = {
        'produto': produto,
        'salvar_path': to_path(atualizar),
        'acao': 'editar',
        'categorias': Categoria.query_ordenada_por_nome()
    }
    return TemplateResponse(contexto, 'produtos/admin/cadastro.html')
Example #4
0
def index(_resp):
    categorias = Categoria.query().fetch()
    categoria_form = validation.CategoriaForm()

    categorias = [categoria_form.fill_with_model(c) for c in categorias]

    # str_json = json.dumps(categorias)

    contexto = {
        'rest_salvar_path': to_path(rest.salvar),
        'rest_listar_path': to_path(rest.index),
        'rest_deletar_path': to_path(rest.deletar),
        'rest_editar_path': to_path(rest.editar)
    }
    return TemplateResponse(contexto)
Example #5
0
def editar(_resp, categoria_id, **propriedades):
    categoria = ndb.Key(Categoria, int(categoria_id))
    categoria_form = validation.CategoriaForm(**propriedades)
    erros = categoria_form.validate()
    if erros:
        _resp.set_status(400)
        return JsonUnsecureResponse(erros)

    else:
        categoria_id = int(categoria_id)
        categoria = Categoria.get_by_id(int(categoria_id))
        categoria.nome = propriedades['nome']
        categoria.categoria_pai = propriedades['categoria_pai']

        categoria.put()

        return JsonUnsecureResponse(categoria_form.fill_with_model(categoria))
Example #6
0
def salvar(_resp, **propriedades):
    propriedades['categoria']=ndb.Key(Categoria,int(propriedades['categoria']))    
    produto_form = validation.ProdutoForm(**propriedades)
    erros = produto_form.validate()

    if erros:
        contexto = {'salvar_path': to_path(salvar), 'erros': erros, 'produto': produto_form , 'categorias' : Categoria.query_ordenada_por_nome()}
        return TemplateResponse(contexto, template_path='produtos/admin/cadastro.html')
    else:    	
        # produto = Produto(nome=propriedades['nome'], preco=propriedades['preco'], categoria=propriedades['categoria'], descricao = propriedades['descricao'], novidade = int(propriedades['novidade']))
        produto = produto_form.fill_model()
        produto.put()
        return RedirectResponse('/produtos/admin')
Example #7
0
def index():
    salvar_path = to_path(salvar)
    contexto = {'categorias': Categoria.query_ordenada_por_nome(), 'salvar_path': salvar_path, 'acao' : 'adicionar'}
    return TemplateResponse(contexto)
Example #8
0
def index():
    categorias = Categoria.query().fetch()
    categoria_form = validation.CategoriaForm()
    categorias = [categoria_form.fill_with_model(c) for c in categorias]
    return JsonUnsecureResponse(categorias)
Example #9
0
def atualizar(categoria_id, nome, categoria_pai):
    categoria = Categoria.get_by_id(int(categoria_id))
    categoria.nome = nome
    categoria.categoria_pai = categoria_pai
    categoria.put()
    return RedirectResponse('/categorias')
Example #10
0
def index(categoria_id):
    categoria = Categoria.get_by_id(int(categoria_id))
    acao = 'editar'
    ctx = {'categoria': categoria,
           'salvar_path': to_path(atualizar), 'acao' : acao}
    return TemplateResponse(ctx, 'categorias/cadastro.html')