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 populate_from_request(produto: Produto):
    # Atribui valores do post ao model
    produto.descricao = request.form['descricao']
    produto.valor = request.form['valor'].replace('.', '').replace(',', '.')
    if 'imagem' in request.files and request.files['imagem'].filename != '':
        produto.imagem = "data:" + request.files[
            'imagem'].content_type + ";base64," + str(
                base64.b64encode(request.files['imagem'].read()), "utf-8")
def edicao_form(produtoid: int):
    if session['user']['grupo'] == 'admin':
        # Página de edição
        produto = Produto()
        produto.select(produtoid)
        if produto.id_produto == 0:
            return redirect(url_for('produto.lista'))
        return render_template('form_produto.html', produto=produto)
    return render_template('403.html'), 403
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 select(self, id_pedido):
     """Seleciona todos os produtos do pedido"""
     c = self.db.con.cursor()
     c.execute(
         """SELECT id_pedido, id_produto, quantidade, valor, observacao 
             FROM tb_pedido_produtos WHERE id_pedido = %s""", id_pedido)
     list_all: List[PedidoProduto] = []
     for row in c:
         prod = Produto()
         produto = PedidoProduto()
         produto.id_pedido = row[0]
         produto.id_produto = row[1]
         produto.quantidade = row[2]
         produto.valor = row[3]
         produto.observacao = row[4]
         produto.produto = prod.select(produto.id_produto)
         list_all.append(produto)
     c.close()
     return list_all
示例#6
0
def cadastro_form():
    # Página de cadastro
    pedido = Pedido()
    pedido.produtos.append(PedidoProduto())
    cliente = Cliente()
    if session['user']['grupo'] == 'admin':
        clientes = cliente.all()
    else:
        clientes = []
        cliente.select(session['user']['id_cliente'])
        clientes.append(cliente)
        pedido.id_cliente = cliente.id_cliente
        pedido.cliente = cliente
    produto = Produto()
    produtos = produto.all()
    return render_template('form_pedido.html',
                           pedido=pedido,
                           clientes=clientes,
                           produtos=produtos)
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
示例#8
0
def edicao_form(pedidoid: int):
    # Página de edição
    pedido = Pedido()
    pedido.select(pedidoid)
    if pedido.id_pedido == 0:
        return redirect(url_for('pedido.lista'))
    if session['user']['id_cliente'] != pedido.id_cliente and session['user'][
            'grupo'] != 'admin':
        return render_template('403.html'), 403
    cliente = Cliente()
    if session['user']['grupo'] == 'admin':
        clientes = cliente.all()
    else:
        clientes = []
        cliente.select(session['user']['id_cliente'])
        clientes.append(cliente)
        pedido.id_cliente = cliente.id_cliente
        pedido.cliente = cliente
    produto = Produto()
    produtos = produto.all()
    return render_template('form_pedido.html',
                           pedido=pedido,
                           clientes=clientes,
                           produtos=produtos)
 def __init__(self,
              id_pedido=0,
              id_produto=0,
              quantidade=0,
              valor=0,
              observacao="",
              produto=None):
     super().__init__()
     self.id_pedido = id_pedido
     self.id_produto = id_produto
     self.quantidade = quantidade
     self.valor = valor
     self.observacao = observacao
     if produto is None:
         produto = Produto()
     self.produto = produto
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
def cadastro_form():
    if session['user']['grupo'] == 'admin':
        # Página de cadastro
        produto = Produto()
        return render_template("form_produto.html", produto=produto)
    return render_template('403.html'), 403
def lista():
    if session['user']['grupo'] == 'admin':
        produto = Produto()
        produtos = produto.all()
        return render_template("lista_produto.html", lista=produtos)
    return render_template('403.html'), 403