예제 #1
0
def atualiza_carrinho(request):
    form = QuantidadeForm(request.POST)
    if form.is_valid():
        produto_id = form.cleaned_data['produto_id']
        quantidade = form.cleaned_data['quantidade']

        carrinho = Carrinho(request)
        if (quantidade == 0):
            carrinho.remover(produto_id)
            preco_total = 0.0
        else:
            carrinho.atualiza(produto_id, quantidade)
            preco_total = carrinho.get_preco_total(produto_id)

        qtd = carrinho.get_quantidade_carrinho()
        preco_carrinho = carrinho.get_preco_carrinho()

        print('***** id do produto = ' + produto_id + '  quantidade = ' +
              str(quantidade) + '  preço total do produto = ' +
              str(preco_total))
        print('***** qtd no carrinho = ' + str(qtd) +
              '  valor do carrinho = ' + str(preco_carrinho))

        return render(request, 'carrinho/resposta_ajax.html')
    else:
        raise ValueError(
            'Ocorreu um erro inesperado ao adicionar um produto ao carrinho.')
예제 #2
0
파일: views.py 프로젝트: FBMLJ/web
def atualiza_carrinho(request):
    form = QuantidadeForm(request.POST)
    if form.is_valid():
        produto_id = signer.unsign(form.cleaned_data['produto_id'])
        quantidade = form.cleaned_data['quantidade']

        carrinho = Carrinho(request)
        if (quantidade == 0):
            carrinho.remover(produto_id)
            preco_total = 0.0
        else:
            carrinho.atualiza(produto_id, quantidade)
            preco_total = carrinho.get_preco_total(produto_id)

        qtd = carrinho.get_quantidade_carrinho()
        preco_carrinho = carrinho.get_preco_carrinho()

        print('***** id do produto = ' + produto_id + '  quantidade = ' +
              str(quantidade) + '  preço total do produto = ' +
              str(preco_total))
        print('***** qtd no carrinho = ' + str(qtd) +
              '  valor do carrinho = ' + str(preco_carrinho))

        locale.setlocale(locale.LC_ALL, 'pt_BR')
        preco_carrinho = locale.currency(preco_carrinho, grouping=True)
        preco_total = Decimal(preco_total)
        preco_total = locale.currency(preco_total, grouping=True)

        return JsonResponse({
            'quantidade': qtd,
            'preco_carrinho': preco_carrinho,
            'preco_total': preco_total
        })
    else:
        raise ValueError(
            'Ocorreu um erro inesperado ao adicionar um produto ao carrinho.')
예제 #3
0
def calcula_totais_carrinho(request):
    carrinho = Carrinho(request)
    quantidade = carrinho.get_quantidade_carrinho()
    preco_carrinho = carrinho.get_preco_carrinho()
    return {'quantidade': quantidade, 'preco_carrinho': preco_carrinho}