def mi_carrito_pago(request): print("ENTRO") profile = request.user.userprofile data = {'status': 'error'} cart = Cart(request) # Suma para el precio final _subtotal = cart.summary() info_general = InformacionGeneral.objects.get(pk=1) taxi = info_general.taxi if taxi: total = _subtotal + taxi else: total = _subtotal """ Bloque para pago """ # Consultamos al numero de pedido if request.method == 'POST': print("Soy POST") form = PedidoForm(request.POST) if form.is_valid(): pedido = form.save(commit=False) pedido.cart = cart.cart pedido.usuario = profile pedido.numero_pedido = get_next_codigo_pedido() pedido.precio_total = total del request.session['CART-ID'] del request.session['numero_pedido'] profile.cart = None profile.save() pedido.save() else: print(form.errors, "<- errores!!!") else: print("NO SOY POST") return JsonResponse(data)
def mi_carrito(request): header = "mi_carrito" try: profile = request.user.userprofile except: """ Logout si no existe userprofile """ return redirect(reverse('usuarios:user_logout')) """ Si existe el profile, obtenemos el cart de ese profile""" if profile: cart = Cart(request) flag_mostrar_productos = False cantidad_items = cart.count() if cantidad_items > 0: flag_mostrar_productos = True items = cart.cart.item_set.all() items_cursos = [(item, item.get_product()) for item in items] # Suma para el precio final _subtotal = cart.summary() info_general = InformacionGeneral.objects.get(pk=1) taxi = info_general.taxi if taxi: total = _subtotal + taxi else: total = _subtotal """ Bloque para pago """ # Consultamos al numero de pedido if request.method == 'POST': print("Soy POST") form = PedidoForm(request.POST) if form.is_valid(): pedido = form.save(commit=False) pedido.cart = cart.cart pedido.usuario = profile pedido.numero_pedido = get_next_codigo_pedido() pedido.precio_total = total del request.session['CART-ID'] del request.session['numero_pedido'] profile.cart = None profile.save() pedido.save() return redirect(reverse('pedidos:gracias')) else: print(form.errors, "<- errores!!!") return render(request, 'pedidos/mi_carrito.html', locals())