Beispiel #1
0
def checkout(request):
    if request.method == 'POST':
        cart = Cart(request)

        form = CheckoutForm(request.POST)
        if form.is_valid():
            try:
                if 'email' in request.POST:
                    update_email(request.user, request.POST.get('email'))

                customer = get_customer(request.user)

                customer.update_card(request.POST.get("stripeToken"))

                product = cart.items()[0].product
                customer.subscribe(product.plan)

                cart.clear()
                return redirect("order_confirmation")

            except stripe.StripeError as e:
                try:
                    error = e.args[0]
                except IndexError:
                    error = "unknown error"

                return render_to_response('godjango_cart/checkout.html', {
                        'cart': Cart(request),
                        'publishable_key': settings.STRIPE_PUBLIC_KEY,
                        'error': error
                    },
                    context_instance=RequestContext(request))
        else:
            return render_to_response('godjango_cart/checkout.html', {
                    'cart': Cart(request),
                    'publishable_key': settings.STRIPE_PUBLIC_KEY,
                    'error': "Problem with your card please try again"
                },
                context_instance=RequestContext(request))
    else:
        return render_to_response('godjango_cart/checkout.html', {
                'cart': Cart(request),
                'publishable_key': settings.STRIPE_PUBLIC_KEY
            },
            context_instance=RequestContext(request))
Beispiel #2
0
def remove_item_from_cart(request):
    if request.method == "POST" and request.is_ajax:
        print request.POST

        ##todo 404 if cant find
        
        
        cart = Cart(request)
        item = cart.get_item_by_id(request.POST["id"])
        
        cart.remove(item.product)
        
        data = {"cartcount": len(cart.items()),
                "id": request.POST["id"] }
        
        json = simplejson.dumps(data)
        
        return HttpResponse(json, mimetype='application/json')
    else:
        return  HttpResponseServerError("GET petitions are not allowed for this view.")
Beispiel #3
0
def add_item_to_cart(request):
    if request.method == "POST" and request.is_ajax:
        print request.POST

        ##todo 404 if cant find
        img = GalleryImage.objects.get(name=request.POST['name'])
        #print str(img)
        
        printsize = PrintSize.objects.get(print_size=request.POST['size'])
        #print printsize
        
        cart = Cart(request)
        cart.add(product=img, unit_price=printsize.price, description= printsize.print_size + " Print", quantity=1)
        
        data = {"cartcount": len(cart.items()) }
        
        json = simplejson.dumps(data)
        
        return HttpResponse(json, mimetype='application/json')
    else:
        return  HttpResponseServerError("GET petitions are not allowed for this view.")