Beispiel #1
0
def cart_add(request, slug):
    product = get_object_or_404(Product, slug=slug)
    quantity = request.GET.get('quantity', False)
    cart = Cart(request)
    if quantity:
        cart.add([product.pk for i in range(0, int(quantity))])
    else:
        cart.add(product)
    create_message(request, _("Product %s added") % product.name)
    return conditional_redirect(request, reverse('show_cart'))
Beispiel #2
0
def cart_add(request, slug):
    product = get_object_or_404(Product, slug=slug)
    quantity = request.GET.get('quantity', False)
    cart = Cart(request)
    if quantity:
        cart.add([product.pk for i in range(0, int(quantity))])
    else:
        cart.add(product)
    create_message(request, _("Product %s added") % product.name)
    return conditional_redirect(request, reverse('show_cart'))
Beispiel #3
0
def add_to_cart(request, product_id):
    cart = Cart(request)
    product_object = get_object_or_404(Product, id=product_id)
    if request.method == 'POST':
        forms = QuantityForm(product_id, request.POST)
        if forms.is_valid():
            cd = forms.cleaned_data
            cart.add(product=product_object, quantity=cd['product_quantity'])

    return redirect('orders:cart')
Beispiel #4
0
def add(request):
    cart = Cart(request)
    product_id = int(request.GET.get('product_id'))
    qty = int(request.GET.get('qty'))
    product = Product.objects.get(id=product_id)
    cart.add(product, qty)

    context = {
        'cart_len': len(cart),
        'total_price': cart.get_total_price(),
    }
    return JsonResponse(context)
Beispiel #5
0
    def add_to_cart(self, request, **kwargs):
        ADDED = 50
        NOT_ADDED = 60
        research_slug = request.GET.get('add_to_cart')

        research = Research.objects.get(slug=research_slug)
        success_message = '<span class="font-weight-bold">"%s"</span>, по цене <span class="text-nowrap font-weight-bold">%s руб.</span><br />' % (
            research.title, research.nominal)
        cart = SessionCart(request)
        if cart.add(research):
            messages.add_message(request, ADDED, success_message)
        else:
            messages.add_message(request, NOT_ADDED,
                                 'Исследование уже в корзине')
Beispiel #6
0
    def form_valid(self, form):
        success_message = '<span class="font-weight-bold">"%s"</span>, по цене <span class="text-nowrap font-weight-bold">%s руб.</span><br />' % (
            model_instance.research.title, model_instance.price)
        cart = Cart(self.request)

        cart_item = form.save(commit=False)
        cart_item.research = Research.objects.get(slug=self.kwargs['slug'])
        cart_item.cart = cart
        cart_item.save()

        if cart.add(cart_item):
            messages.add_message(self.request, 50, success_message)
        else:
            messages.add_message(self.request, 60,
                                 'Исследование уже в корзине')

        # if self.request.user.is_authenticated:
        #     cart = Cart.objects.get(client__user=self.request.user)
        #     try:
        #         CartItem.objects.get(research=model_instance.research, cart=cart)
        #         messages.add_message(self.request, 60, 'Исследование уже в корзине')
        #     except:
        #         model_instance.cart = Cart.objects.get(client__user=self.request.user)
        #         model_instance.save()
        #
        #         messages.add_message(self.request, 50, success_message)
        # else:
        #
        #     for item in Cart(self.request):
        #         if item.get_product() in CartItem.objects.filter(research=model_instance.research):
        #             messages.add_message(self.request, 60, 'Исследование уже в корзине')
        #             break
        #     else:
        #         model_instance.save()
        #         cart = Cart(self.request)
        #         cart.add(model_instance, model_instance.price)
        #         messages.add_message(self.request, 50, success_message)
        return HttpResponseRedirect(self.get_success_url())