Пример #1
0
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))
Пример #2
0
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')
Пример #3
0
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')
Пример #4
0
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')
Пример #5
0
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))
Пример #6
0
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')
Пример #7
0
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')
Пример #8
0
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')
Пример #9
0
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')
Пример #10
0
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')
Пример #11
0
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')
Пример #12
0
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