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
示例#4
0
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
示例#6
0
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
示例#8
0
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
示例#11
0
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