def busca(produtoid: int): # Busca por produto produto = Produto() produto.select(produtoid) if produto.id_produto == 0: return json_response(message='Produto não encontrado!', data=[]), 404 return json_response(message='Produto encontrado!', data=[produto]), 200
def cadastro(): if session['user']['grupo'] == 'admin': # Cadastro via ajax cliente = Cliente() populate_from_request(cliente) if not Cliente.valid_pass(request.form['senha']): return json_response( message='A senha deve ter pelo menos 4 dígitos', data=[]), 400 if cliente.login_exists(cliente.login, 0): return json_response( message='O login já está em uso, utilize outro', data=[]), 400 cliente.senha = Cliente.hash(request.form['senha']) identifier = cliente.insert() if identifier > 0: return json_response(message='Cliente cadastrado!', data=[cliente], redirect=url_for('cliente.lista')), 201 else: return json_response( message='Não foi possível cadastrar o cliente', data=[]), 400 return json_response( message='Você não tem permissão para realizar esta ação', data=[]), 403
def remocao(clienteid): # Remoção via ajax # Verifica se usuário existe cliente = Cliente() cliente.select(clienteid) if session['user']['grupo'] == 'admin': if cliente.id_cliente == 0: return json_response(message='Cliente não encontrado!', data=[], redirect=url_for('cliente.lista')), 404 if cliente.bought(): return json_response( message= 'Cliente com pedidos cadastrados não pode ser removido!', data=[]), 403 rows = cliente.delete() if rows > 0: return json_response(message='Cliente removido!', data=[cliente], redirect=url_for('cliente.lista')), 200 else: return json_response(message='Não foi possível remover o cliente', data=[]), 400 return json_response( message='Você não tem permissão para realizar esta ação', data=[]), 403
def edicao(pedidoid): # Edição via ajax # Verifica se pedido existe pedido = Pedido() pedido.select(pedidoid) if pedido.id_pedido == 0: return json_response(message='Pedido não encontrado!', data=[], redirect=url_for('pedido.lista')), 404 if session['user']['id_cliente'] != pedido.id_cliente and session['user'][ 'grupo'] != 'admin': return json_response( message='Você não tem permissão para realizar esta ação', data=[]), 403 populate_from_request(pedido) if session['user']['grupo'] != 'admin': pedido.id_cliente = session['user']['id_cliente'] rows = pedido.update() if rows > 0: return json_response(message='Pedido atualizado!', data=[pedido]), 200 else: return json_response(message='Não foi possível editar o pedido', data=[]), 400
def busca(clienteid: int): # Busca por cliente cliente = Cliente() cliente.select(clienteid) if session['user']['grupo'] == 'admin' or session['user'][ 'id_cliente'] == cliente.id_cliente: if cliente.id_cliente == 0: return json_response(message='Cliente não encontrado!', data=[]), 404 cliente.telefone = helper.telefone(cliente.telefone) cliente.cep = helper.cep(cliente.cep) return json_response(message='Cliente encontrado!', data=[cliente]), 200 return json_response( message='Você não tem permissão para realizar esta ação', data=[]), 403
def cadastro(): # Cadastro via ajax pedido = Pedido() populate_from_request(pedido) if session['user']['grupo'] != 'admin': pedido.id_cliente = session['user']['id_cliente'] identifier = pedido.insert() if identifier > 0: return json_response(message='Pedido cadastrado!', data=[pedido], redirect=url_for('pedido.lista')), 201 else: return json_response(message='Não foi possível cadastrar o pedido', data=[]), 400
def cadastro(): if session['user']['grupo'] == 'admin': # Cadastro via ajax produto = Produto() populate_from_request(produto) identifier = produto.insert() if identifier > 0: return json_response(message='Produto cadastrado!', data=[produto], redirect=url_for('produto.lista')), 201 else: return json_response( message='Não foi possível cadastrar o produto', data=[]), 400 return json_response( message='Você não tem permissão para realizar esta ação', data=[]), 403
def download(pedidoid): # Download do pdf # Verifica se pedido existe pedido = Pedido() pedido.select(pedidoid) if pedido.id_pedido == 0: return json_response(message='Pedido não encontrado!', data=[]), 404 if session['user']['id_cliente'] != pedido.id_cliente and session['user'][ 'grupo'] != 'admin': return json_response( message='Você não tem permissão para realizar esta ação', data=[]), 403 pdf = pedido.create_pdf() response = make_response(pdf.output(dest='S').encode('latin-1')) response.headers.set('Content-Disposition', 'attachment', filename='pedido' + pedido.id_pedido.__str__() + '.pdf') response.headers.set('Content-Type', 'application/pdf') return response
def edicao(clienteid): # Edição via ajax # Verifica se usuário existe cliente = Cliente() cliente.select(clienteid) if session['user']['grupo'] == 'admin' or session['user'][ 'id_cliente'] == cliente.id_cliente: if cliente.id_cliente == 0: return json_response(message='Cliente não encontrado!', data=[], redirect=url_for('cliente.lista')), 404 populate_from_request(cliente) if len(request.form['senha']) > 0: if not Cliente.valid_pass(request.form['senha']): return json_response( message='A senha deve ter pelo menos 4 dígitos', data=[]), 400 cliente.senha = Cliente.hash(request.form['senha']) if cliente.login_exists(cliente.login, cliente.id_cliente): return json_response( message='O login já está em uso, utilize outro', data=[]), 400 rows = cliente.update() if rows > 0: return json_response(message='Cliente atualizado!', data=[cliente]), 200 else: return json_response(message='Não foi possível editar o cliente', data=[]), 400 return json_response( message='Você não tem permissão para realizar esta ação', data=[]), 403
def edicao(produtoid): if session['user']['grupo'] == 'admin': # Edição via ajax # Verifica se produto existe produto = Produto() produto.select(produtoid) if produto.id_produto == 0: return json_response(message='Produto não encontrado!', data=[], redirect=url_for('produto.lista')), 404 populate_from_request(produto) rows = produto.update() if rows > 0: return json_response(message='Produto atualizado!', data=[produto]), 200 else: return json_response(message='Não foi possível editar o produto', data=[]), 400 return json_response( message='Você não tem permissão para realizar esta ação', data=[]), 403
def remocao(pedidoid): # Remoção via ajax # Verifica se usuário existe pedido = Pedido() pedido.select(pedidoid) if pedido.id_pedido == 0: return json_response(message='Pedido não encontrado!', data=[], redirect=url_for('pedido.lista')), 404 if session['user']['id_cliente'] != pedido.id_cliente and session['user'][ 'grupo'] != 'admin': return json_response( message='Você não tem permissão para realizar esta ação', data=[]), 403 rows = pedido.delete() if rows > 0: return json_response(message='Pedido removido!', data=[], redirect=url_for('pedido.lista')), 200 else: return json_response(message='Não foi possível remover o pedido', data=[]), 400
def remocao(produtoid): if session['user']['grupo'] == 'admin': # Remoção via ajax # Verifica se usuário existe produto = Produto() produto.select(produtoid) if produto.id_produto == 0: return json_response(message='Produto não encontrado!', data=[], redirect=url_for('produto.lista')), 404 if produto.bought(): return json_response( message='Produto presente em um pedido não pode ser removido!', data=[]), 403 rows = produto.delete() if rows > 0: return json_response(message='Produto removido!', data=[produto], redirect=url_for('produto.lista')), 200 else: return json_response(message='Não foi possível remover o produto', data=[]), 400 return json_response( message='Você não tem permissão para realizar esta ação', data=[]), 403