Exemple #1
0
def cart(request):
    # already passed loginmiddleware
    carts = Cart.objects.filter(c_user=request.user)
    is_select_all = not carts.filter(c_is_selected=False).exists()
    data = {
        'title': 'Cart',
        'carts': carts,
        'is_select_all': is_select_all,
        'total_price': get_total_price(),
    }

    return render(request, 'main/cart.html', context=data)
Exemple #2
0
def add_shoppingcart(request):
    cartid = request.GET.get('cartid')
    cart_obj = Cart.objects.get(pk=cartid)
    data = {
        'status': 200,
        'msg': 'ok',
    }

    cart_obj.c_goods_num = cart_obj.c_goods_num + 1
    cart_obj.save()
    data['c_goods_num'] = cart_obj.c_goods_num
    data['total_price'] = get_total_price()
    return JsonResponse(data=data)
Exemple #3
0
def select_all(request):
    cart_list = request.GET.get("cart_list")

    cart_list = cart_list.split("#")
    carts = Cart.objects.filter(id__in=cart_list)
    #print(carts)

    for cart_obj in carts:
        cart_obj.c_is_selected = not cart_obj.c_is_selected
        cart_obj.save()

    data = {
        'status': 200,
        'msg': 'ok',
        'total_price': get_total_price(),
    }
    return JsonResponse(data=data)
Exemple #4
0
def sub_shoppingcart(request):

    cartid = request.GET.get('cartid')
    cart_obj = Cart.objects.get(pk=cartid)
    data = {
        'status': 200,
        'msg': 'ok',
    }
    if cart_obj.c_goods_num > 1:
        cart_obj.c_goods_num = cart_obj.c_goods_num - 1
        cart_obj.save()
        data['c_goods_num'] = cart_obj.c_goods_num
    else:
        cart_obj.delete()
        data['c_goods_num'] = 0

    data['total_price'] = get_total_price()
    return JsonResponse(data=data)
Exemple #5
0
def change_cart_state(request):
    cart_id = request.GET.get('cartid')
    cart_obj = Cart.objects.get(pk=cart_id)

    cart_obj.c_is_selected = not cart_obj.c_is_selected

    cart_obj.save()

    is_select_all = not Cart.objects.filter(c_user=request.user).filter(
        c_is_selected=False).exists()

    data = {
        'status': 200,
        'msg': 'change ok',
        'c_is_selected': cart_obj.c_is_selected,
        'is_select_all': is_select_all,
        'total_price': get_total_price(),
    }

    return JsonResponse(data=data)
Exemple #6
0
def create_order(request):

    carts = Cart.objects.filter(c_user=request.user).filter(c_is_selected=True)

    order = Order()
    order.o_user = request.user
    order.o_price = get_total_price()  # get it again at backend
    order.save()
    # create order from selected in cart
    for cart_obj in carts:
        ordergoods = OrderGoods()
        ordergoods.o_order = order
        ordergoods.o_goods_num = cart_obj.c_goods_num
        ordergoods.o_goods = cart_obj.c_goods
        ordergoods.save()
        cart_obj.delete()  # removed cart obj

    data = {
        'status': 200,
        'msg': 'ok',
        'order_id': order.id,
    }
    return JsonResponse(data=data)