def _clientes(): """ Método para consulta com todos os clientes cadastrados. :return: json com todos os clientes cadastrados. """ try: with sessao() as session: clientes = Dao(session).todos(Cliente) clientes = [{"id": str(i.id), "nome": i.nome} for i in clientes] return jsonify(clientes=clientes) except Exception as e: log.exception('Erro ajax clientes!' + str(e))
def pedido(): """ Método para exibição da página com todos os pedidos cadastrados. :return: view com a página pedido.html """ try: with sessao() as session: pedidos = Dao(session).todos(Pedido) return render_template('financeiro/pedido.html', pedidos=pedidos) except Exception as e: msg = 'Erro ao exibir pedidos!' log.exception(msg + str(e)) flash(msg, 'alert-danger') return render_template('index.html')
def producao(): """ Método para exibição da página com todas as produções. :return: view com a página producoes.html """ try: with sessao() as session: producoes = Dao(session).todos(Producao) return render_template('agro/producoes.html', producoes=producoes) except Exception as e: msg = 'Erro ao exibir produções!' log.exception(msg + str(e)) flash(msg, 'alert-danger') return render_template('index.html')
def cliente(): """ Método para exibição da página com todos os clientes cadastrados. :return: view com a página cliente.html """ try: with sessao() as session: clientes = Dao(session).todos(Cliente) return render_template('financeiro/cliente.html', clientes=clientes) except Exception as e: msg = 'Erro ao exibir clientes!' log.exception(msg + str(e)) flash(msg, 'alert-danger') return render_template('index.html')
def _produtores(): """ Método para consulta com todos os produtores cadastrados. :return: json com todos os produtores cadastrados. """ try: with sessao() as session: produtores = Dao(session).todos(Produtor) produtores = [{ "id": str(i.id), "nome": i.nome } for i in produtores] return jsonify(produtores=produtores) except Exception as e: log.exception('Erro ajax produtores!' + str(e))
def producao_novo(): try: if request.method == 'POST': producao = Producao() with sessao() as session: dao = Dao(session) if _salvar_producao(producao, dao): flash('Produção Salvo com Sucesso!', 'alert-success') return redirect(url_for('agro.producao')) return render_template('agro/producao.html') except Exception as e: msg = 'Erro ao cadastrar produção!' log.exception(msg + str(e)) flash(msg, 'alert-danger') return render_template('index.html')
def producao_editar(id): try: with sessao() as session: producao = Dao(session).buscarID(Producao, int(id)) if producao: if request.method == 'POST': dao = Dao(session) if _salvar_producao(producao, dao): flash('Produção Alterado com Sucesso!', 'alert-success') return redirect(url_for('agro.producao')) return render_template('agro/producao.html', producao=producao) except Exception as e: msg = 'Erro ao editar produção!' log.exception(msg + str(e)) flash(msg, 'alert-danger') return render_template('index.html')
def pedido_novo(): """ Método para exibição da página para um novo pedido. :return: view com a página pedido_novo.html """ try: if request.method == 'POST': pedido = Pedido() with sessao() as session: dao = Dao(session) if _salvar(pedido, dao): flash('Pedido Salvo com Sucesso!', 'alert-success') return redirect(url_for('financeiro.pedido')) else: raise SalvarPedidoException() return render_template('financeiro/pedido_novo.html') except Exception as e: msg = 'Erro ao salvar pedido!' log.exception(msg + str(e)) flash(msg, 'alert-danger') return render_template('index.html')
def produtor_novo(): """ Método cadastrar novo produtor. :return: view com a página de cadastro de produtor.html """ try: if request.method == 'POST': produtor = Produtor() with sessao() as session: produtor.nome = request.form['nome'].strip() produtor.nome_propriedade = request.form[ 'nome_propriedade'].strip() produtor.tamanho = request.form['tamanho'].strip() Dao(session).salvar(produtor) return redirect(url_for('agro.produtor')) return render_template('agro/produtor.html') except Exception as e: msg = 'Erro ao cadastrar produtor!' log.exception(msg + str(e)) flash(msg, 'alert-danger') return render_template('index.html')
def produtor_editar(id): """ Método para editar dados do produtor :return: view com a página de edição de cadastro produtor.html """ try: with sessao() as session: produtor = Dao(session).buscarID(Produtor, int(id)) if produtor: if request.method == 'POST': produtor.nome = request.form['nome'].strip() produtor.nome_propriedade = request.form[ 'nome_propriedade'].strip() produtor.tamanho = request.form['tamanho'].strip() Dao(session).salvar(produtor) return redirect(url_for('agro.produtor')) return render_template('agro/produtor.html', produtor=produtor) except Exception as e: msg = 'Erro ao editar produtor!' log.exception(msg + str(e)) flash(msg, 'alert-danger') return render_template('index.html')
def pedido_editar(id): """ Método para exibição da página para editar. :return: view com a página pedido_novo.html em modo de edição. """ try: with sessao() as session: dao = Dao(session) pedido = dao.buscarID(Pedido, int(id)) if pedido: if request.method == 'POST': if _salvar(pedido, dao): flash('Pedido Alterado com Sucesso!', 'alert-success') return redirect(url_for('financeiro.pedido')) else: raise SalvarPedidoException() itens = [{ 'produto_id': str(item.produto_id), 'nome': item.produto.nome, 'quantidade': str(item.quantidade), 'preco': str(item.preco), 'total': str(item.total), 'rentabilidade': item.rentabilidade } for item in pedido.itens] dictPedido = { 'cliente': str(pedido.cliente_id), 'itens': itens } pedidoJson = json.dumps(dictPedido) return render_template('financeiro/pedido_novo.html', pedidoJson=pedidoJson) except Exception as e: msg = 'Erro ao editar pedido!' log.exception(msg + str(e)) flash(msg, 'alert-danger') return render_template('index.html')
def criar_exemplos(): """ Método que cria dados fictícios para exemplo do desafio. """ try: with sessao() as session: # abre sessao dao = Dao(session) # clientes cli1 = Cliente() cli1.nome = 'Darth Vader' dao.salvar(cli1) cli2 = Cliente() cli2.nome = 'Obi-Wan Kenobi' dao.salvar(cli2) cli3 = Cliente() cli3.nome = 'Luke Skywalker' dao.salvar(cli3) cli4 = Cliente() cli4.nome = 'Imperador Palpatine' dao.salvar(cli4) cli5 = Cliente() cli5.nome = 'Han Solo' dao.salvar(cli5) # produtos prod1 = Produto() prod1.nome = 'Millenium Falcon' prod1.preco = Decimal('550000') # prod1.multiplo = 0 dao.salvar(prod1) prod2 = Produto() prod2.nome = 'X-Wing' prod2.preco = Decimal('60000') prod2.multiplo = 2 dao.salvar(prod2) prod3 = Produto() prod3.nome = 'Super Star Destroyer' prod3.preco = Decimal('4570000') # prod3.multiplo = 0 dao.salvar(prod3) prod4 = Produto() prod4.nome = 'TIE Fighter' prod4.preco = Decimal('75000') prod4.multiplo = 2 dao.salvar(prod4) prod5 = Produto() prod5.nome = 'Lightsaber' prod5.preco = Decimal('6000') prod5.multiplo = 5 dao.salvar(prod5) prod6 = Produto() prod6.nome = 'DLT-19 Heavy Blaster Rifle' prod6.preco = Decimal('5800') # prod6.multiplo = 2 dao.salvar(prod6) prod7 = Produto() prod7.nome = 'DL-44 Heavy Blaster Pistol' prod7.preco = Decimal('1500') prod7.multiplo = 10 dao.salvar(prod7) except Exception as e: raise e