Example #1
0
    def render_tag(self, context):
        cart = get_or_create_cart(context['request'])
        cart.update()
        context['cart'] = cart
        context['cart_items': cart.get_updated_cart_items()]
        formset = get_cart_item_formset(cart_items=context['cart_items'])
        context['formset': formset]

        return ''
Example #2
0
 def get(self, request, *args, **kwargs):
     """
     This is lifted from the TemplateView - we don't get this behavior since
     this only extends the mixin and not templateview.
     """
     context = self.get_context_data(**kwargs)
     formset = get_cart_item_formset(cart_items=context['cart_items'])
     context.update({'formset': formset, })
     return self.render_to_response(context)
    def render(self, context, instance, placeholder):
        state = {}
        cart_object = get_or_create_cart(context['request'])
        cart_object.update(state)

        context.update({'cart': cart_object})
        context.update({'cart_items': cart_object.get_updated_cart_items()})
        if 'formset' in context.get('request').POST:
            context.update(context.get('request').POST)
        else:
            context.update({'formset': get_cart_item_formset(cart_items=context['cart_items'])})

        return context
Example #4
0
    def update_context_with_cart_form(self,ctx):

        cart_object = get_or_create_cart(self.request)
        state={'country':self.request.session.get('django_country')}
        cart_object.update(state)
        ctx.update({'cart': cart_object})
        ctx.update({'cart_items': cart_object.get_updated_cart_items()})

        formset = get_cart_item_formset(cart_items=ctx['cart_items'])
        ctx.update({'formset': formset, })

        ctx.update({'cart_form': CartForm(instance=cart_object) })

        return ctx
Example #5
0
    def put(self, *args, **kwargs):
        """
        Update shopping cart items quantities.

        Data should be in update_item_ID=QTY form, where ID is id of cart item
        and QTY is quantity to set.
        """
        context = self.get_context_data(**kwargs)
        formset = get_cart_item_formset(cart_items=context['cart_items'],
                data=self.request.POST)
        if formset.is_valid():
            formset.save()
            return self.put_success()
        context.update({'formset': formset, })
        return self.render_to_response(context)
Example #6
0
    def put(self, *args, **kwargs):
        """
        Update shopping cart items quantities.

        Data should be in update_item_ID=QTY form, where ID is id of cart item
        and QTY is quantity to set.
        """
        context = self.get_context_data(**kwargs)
        formset = get_cart_item_formset(cart_items=context['cart_items'],
                data=self.request.POST)
        if formset.is_valid():
            formset.save()
            return self.put_success()
        context.update({'formset': formset, })
        return self.render_to_response(context)
Example #7
0
    def put(self, *args, **kwargs):
        """
        Update shopping cart items quantities.

        Data should be in update_item_ID=QTY form, where ID is id of cart item
        and QTY is quantity to set.
        """
        context = self.get_context_data(**kwargs)
        formset = get_cart_item_formset(cart_items=context['cart_items'],
                data=self.request.POST)
        if formset.is_valid():
            formset.save()
            return self.put_success()
        self.request.POST = {'formset': formset, }

        return cms_views.details(self.request, slug = pagemodel.Page.objects.get(reverse_id='cart').get_slug())
Example #8
0
    def put(self, *args, **kwargs):
        """ Update shopping cart form. """

        context = self.get_context_data(**kwargs)
        self.update_context_with_cart_form(context)
        formset = get_cart_item_formset(cart_items=context['cart_items'],data=self.request.POST)

        """ valid form redirects to get cart again, otherwise re-display form with errors """
        if formset.is_valid():
            formset.save()
            messages.add_message(self.request,messages.INFO, _('Item quantity has been successfully changed.'),extra_tags='basket_only')
            return self.redirect()

        messages.add_message(self.request,messages.ERROR, _('Unable to change item quantity.'),extra_tags='basket_only')
        context.update({'formset': formset, })
        return self.render_to_response(context)
Example #9
0
    def put(self, *args, **kwargs):
        """
        Update shopping cart items quantities.

        Data should be in update_item_ID=QTY form, where ID is id of cart item
        and QTY is quantity to set.
        """
        context = self.get_context_data(**kwargs)
        try:
            formset = get_cart_item_formset(cart_items=context["cart_items"], data=self.request.POST)
        except ValidationError:
            return redirect("cart")
        if formset.is_valid():
            formset.save()
            return self.put_success()
        context.update({"formset": formset})
        return self.render_to_response(context)
Example #10
0
    def get_context_data(self, **kwargs):
        ctx = super(ShopListView, self).get_context_data(**kwargs)

        #set up the currency before we use the cart itself
        self.do_currency_switch()

        state={'country':self.request.session.get('django_country')}
        cart_object = get_or_create_cart(self.request)
        cart_object.update(state)
        ctx.update({'cart': cart_object})
        ctx.update({'cart_items': cart_object.get_updated_cart_items()})

        formset = get_cart_item_formset(cart_items=ctx['cart_items'])
        ctx.update({'formset': formset, })

        ctx.update({'cart_form': CartForm(instance=cart_object) })

        return ctx
Example #11
0
 def test_cart_items_should_have_updated_values(self):
     self.cart.update()
     items = self.cart.get_updated_cart_items()
     formset = get_cart_item_formset(cart_items=items)
     self.assertEqual(formset.forms[0].instance.line_subtotal, 246)
Example #12
0
 def test_should_return_formset(self):
     items = CartItem.objects.all()
     formset = get_cart_item_formset(cart_items=items)
     self.assertTrue('quantity' in formset.forms[0].fields)
Example #13
0
 def test_cart_items_should_have_updated_values(self):
     self.cart.update(self.request)
     items = self.cart.get_updated_cart_items()
     formset = get_cart_item_formset(cart_items=items)
     self.assertEqual(formset.forms[0].instance.line_subtotal, 246)
Example #14
0
 def test_should_return_formset(self):
     items = CartItem.objects.all()
     formset = get_cart_item_formset(cart_items=items)
     self.assertTrue('quantity' in formset.forms[0].fields)
Example #15
0
 def get(self, request, *args, **kwargs):
     """Add cart items into context."""
     context = self.get_context_data(**kwargs)
     formset = get_cart_item_formset(cart_items=context['cart_items'])
     context.update({'formset': formset, })
     return self.render_to_response(context)