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)
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')
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')
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)
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))
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')
def index(): salvar_path = to_path(salvar) contexto = {'categorias': Categoria.query_ordenada_por_nome(), 'salvar_path': salvar_path, 'acao' : 'adicionar'} return TemplateResponse(contexto)
def index(): categorias = Categoria.query().fetch() categoria_form = validation.CategoriaForm() categorias = [categoria_form.fill_with_model(c) for c in categorias] return JsonUnsecureResponse(categorias)
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')
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')