Exemplo n.º 1
0
    def quick_order(self, item, qty):
        cart = Cart.objects.create(session_id=self.request.session.session_key)
        item = Item(cart=cart, product=item, qty=int(qty), price=item.price)
        item.save()
        cart.save()

        return cart
Exemplo n.º 2
0
def add_to_cart(request, context, view):
    if request.POST:
        if 'cart_id' in request.COOKIES:
            session = request.COOKIES['cart_id']
        else:
            session = get_random_string(100)
            Cart(session=session).save()
        Item.add_to_cart(product_id=request.POST.get('product'),
                         session=session,
                         count=request.POST.get('count'))
        response = render(request, SITE_THEME + view, context)
        response.set_cookie('cart_id', session, max_age=365 * 24 * 60 * 60)
        return response
Exemplo n.º 3
0
    def add_item(self, item, qty):
        try:
            item = Item.objects.get(cart=self.cart, product=item)
            item.qty = int(qty)
            item.save()
        except Item.DoesNotExist:
            item = Item(cart=self.cart,
                        product=item,
                        qty=int(qty),
                        price=item.price)
            item.save()

        return item
Exemplo n.º 4
0
Arquivo: views.py Projeto: scotfu/M
def show(request):
    cart = getCart(request)
    item_set=[]
    if '_auth_user_id' in request.session:
        item_set=cart.cartitem_set.all()
    else:
        if  cart:
            for album_key in cart:
                item=Item()
                item.album=album_key
                item.amount=cart[album_key]
                item_set.append(item)
            for item in item_set:
                print item.album
    return render_to_response('my_cart.html', {
        'item_set': item_set},
        context_instance=RequestContext(request))
Exemplo n.º 5
0
def add_to_cart(request, product_id, quantity):
    print('getting to cart"s add to cart')
    user_cart = Cart.objects.get(user=request.user)
    product = Product.objects.get(id=product_id)
    itemsMatching = Item.objects.filter(product=product,
                                        cart=user_cart,
                                        unit_price=product.price_current)
    this_item = itemsMatching.first()
    if this_item is None:
        item = Item(product=product,
                    cart=user_cart,
                    quantity=quantity,
                    unit_price=product.price_current)
        item.save()
    else:
        print('ok')
        new_q = this_item.quantity + quantity
        itemsMatching.update(quantity=new_q)
Exemplo n.º 6
0
def add_item_cart_view(request):
    prod_id = request.data.get('id', None)
    dat = CartSerializer(request.user.cart)

    if prod_id is not None:
        for item in request.user.cart.items.all():
            if item.product.id == prod_id:
                item.quantity += 1
                item.save()
                cart = CartSerializer(request.user.cart)
                return Response(cart.data)
        new_prod = Product.objects.filter(id=prod_id).first()
        new_item = Item(product=new_prod, cart=request.user.cart)
        new_item.save()
        cart = CartSerializer(request.user.cart)
        return Response(cart.data)

    return Response({'message': 'Succes'})
Exemplo n.º 7
0
 def _create_item_in_database(self,
                              cart,
                              product,
                              quantity=1,
                              unit_price=Decimal("100")):
     item = Item()
     item.cart = cart
     item.product = product
     item.quantity = quantity
     item.unit_price = unit_price
     item.save()
     return item
Exemplo n.º 8
0
Arquivo: views.py Projeto: scotfu/M
def add_to_cart(request, album_id):
    cart=getCart(request)
#专辑是否存在
    try:
        album=Album.objects.get(pk=album_id)
    except:
        raise Http404
#数量是否选择
    if 'amount' in request.GET:
        if not re.search(r'\d+$', request.GET['amount']):
            raise Http404
        else:
            amount=int(request.GET['amount'])
    else:
        amount=1
#是否已有该专辑
    if '_auth_user_id' in request.session:
        try:
            item = cart.cartitem_set.get(album=album)
            item.amount+=amount
            item.save()
        except ObjectDoesNotExist:
            item=CartItem.objects.create(cart=cart, album=album, amount=amount)
#匿名用户购物车
    else:
        if album in cart:
            cart[album]+= amount
        else:
            cart[album]=amount
        item=Item()
        item.album=album
        item.amount=cart[album]
        request.session['cart']=cart
    return render_to_response('new_item.html',
        {'item': item,
        'amount': amount},
        context_instance=RequestContext(request))
Exemplo n.º 9
0
    def post(self, request):
        cart = Cart()
        cart.save()
        item = Item()
        item.cart = cart
        item.quantity = int(request.POST.get("quantity", 1))
        item.product_id = int(request.POST["product_id"])
        item.save()

        order = Order()
        order.cart_id = cart.id
        order.address = "Уточнить у клиента"
        order.phone = request.POST.get('phone')
        order.name = request.POST.get('name')
        order.comment = "Заказ в один клик"
        if request.user.is_authenticated():
            order.customer = request.user
        order.save()

        cart_service = CartService(request, cart)

        params = {
            "phone": unicode(request.POST["phone"]),
            "name": unicode(request.POST["name"]),
            "customer": request.user,
            "comment": order.comment,
            "orderno": order.id,
            "orderdt": order.checkout_date,
            "orderaddr": order.address,
            "ordercart": cart_service,
        }

        send_notification("order_notice", params)
        response = HttpResponse(json.dumps({
            "order_id": order.id,
            "ok": 1
        }),
                                content_type="application/json")
        return response
Exemplo n.º 10
0
    def post(self, request):
        cart = Cart()
        cart.save()
        item = Item()
        item.cart = cart
        item.quantity = int(request.POST.get("quantity", 1))
        item.product_id = int(request.POST["product_id"])
        item.save()

        order = Order()
        order.cart_id = cart.id
        order.address = "Уточнить у клиента"
        order.phone = request.POST.get('phone')
        order.name = request.POST.get('name')
        order.comment = "Заказ в один клик"
        if request.user.is_authenticated():
            order.customer = request.user
        order.save()

        cart_service = CartService(request, cart)

        params = {
            "phone": unicode(request.POST["phone"]),
            "name": unicode(request.POST["name"]),
            "customer": request.user,
            "comment": order.comment,
            "orderno": order.id,
            "orderdt": order.checkout_date,
            "orderaddr": order.address,
            "ordercart": cart_service,
        }

        send_notification("order_notice", params)
        response = HttpResponse(json.dumps({"order_id": order.id, "ok": 1}),
                                content_type="application/json")
        return response