def ajax_by_id(pk): data = Cliente.query.filter_by(id=pk).one() if data: return Response(response=json.dumps( Cliente.to_dict(data, cliente_colunas)), status=200, mimetype="application/json") return '', 404
def report(pk): data = Historico.query.filter_by(id=pk).one() dados = Historico.to_dict(data, historico_colunas) cliente = Cliente.query.filter_by(id=data.id_cliente).one() dados['cliente'] = Cliente.to_dict(cliente, cliente_colunas) veiculo = Veiculo.query.filter_by(id=data.id_veiculo).one() dados['veiculo'] = Veiculo.to_dict(veiculo, veiculo_colunas) modelo = Modelo.query.filter_by(id=veiculo.id_modelo).one() dados['modelo'] = Modelo.to_dict(modelo, modelo_colunas) montadora = Montadora.query.filter_by(id=modelo.id_monta).one() dados['montadora'] = Modelo.to_dict(montadora, montadora_colunas) pdf_buffer = gerar_pdf(dados) return send_file( pdf_buffer, attachment_filename='relatorio.pdf', mimetype='application/pdf', cache_timeout=0 )
def ajax(): _limit = int(request.args.get('limit', '10')) _offset = int(request.args.get('offset', '0')) _sort_order = request.args.get('sort_order', '') _sort_direction = request.args.get('sort_direction', 'asc') _nome = request.args.get('nome', '') _telefone = request.args.get('telefone', '') _celular = request.args.get('celular', '') _limit = _offset + _limit items = [] filtro = get_filter(_nome, _telefone, _celular) try: fetch = Cliente.query.filter(filtro) fetch = Cliente.sorting_data(fetch, _sort_order, _sort_direction) fetch = fetch.slice(_offset, _limit).all() colunas = [col.name for col in Cliente.__table__._columns] for dado in fetch: items.append(Cliente.to_dict(dado, cliente_colunas)) except Exception as ex: print(ex) return Response(response=json.dumps(items), status=200, mimetype="application/json")
def form(pk): #Pega os dados dos campos na tela contexto = {} contexto['model'] = {} if request.method == 'POST': nome = request.form.get('nome') rg = request.form.get('rg') cpf = request.form.get('cpf') endereco = request.form.get('endereco') complemento = request.form.get('complemento') bairro = request.form.get('bairro') cidade = request.form.get('cidade') cep = request.form.get('cep') estado = request.form.get('estado') pais = request.form.get('pais') telefone = request.form.get('telefone') fax = request.form.get('fax') celular = request.form.get('celular') telefone_comercial = request.form.get('telefone_comercial') fax_comercial = request.form.get('fax_comercial') email = request.form.get('email') bip = request.form.get('bip') data_nascimento = from_str_to_datetime_or_none( request.form.get('data_nascimento')) mes = to_int_or_none(request.form.get('mes')) if data_nascimento: mes = data_nascimento.month else: mes = 0 #Criar dicionário com os dados dicionario = { "nome": nome, "rg": rg, "cpf": cpf, "endereco": endereco, "complemento": complemento, "bairro": bairro, "cidade": cidade, "cep": cep, "estado": estado, "pais": pais, "telefone": telefone, "fax": fax, "celular": celular, "telefone_comercial": telefone_comercial, "fax_comercial": fax_comercial, "email": email, "bip": bip, "data_nascimento": data_nascimento, "mes": mes } if pk: dicionario['id'] = pk cliente = Cliente(**dicionario) mensagem = None try: contexto['tipo_mensagem'] = 'success' if pk: db.session.merge(cliente) else: db.session.add(cliente) db.session.commit() id_cadastro = cliente.id if pk: flash( u'Cliente {0} atualizado com sucesso.'.format(id_cadastro), 'success') else: flash( u'Cliente {0} cadastrado com sucesso.'.format(id_cadastro), 'success') return redirect(url_for('cliente.index')) except Exception as ex: print(ex) contexto['mensagem'] = u'Erro ao cadastrar cliente.' contexto['tipo_mensagem'] = 'danger' elif pk: data = Cliente.query.filter_by(id=pk).one() contexto['model'] = Cliente.to_dict(data, cliente_colunas) return render_template('cliente/cadastro.html', **contexto)