Ejemplo n.º 1
0
def checkout_details(request, transaction_id):
    context = {
        'cart': [],
        'summary': 0,
        'taxes': [],
        'overall': 0,
        'form': None,
    }
    transaction = get_object_or_404(Transaction, ref_id=transaction_id)
    if transaction.status == TRANSACTION_PREPARING:
        cart = Cart(request, strict=True)
        context['cart'] = cart.get_all()
        context['summary'] = cart.summary()
        taxes = Tax.objects.filter(apply=True)
        transaction.applied_taxes = taxes
        overall = context['summary']
        for tax in taxes:
            overall += context['summary'] * tax.rate
        context['overall'] += overall
        context['taxes'] = taxes
        transaction.amount = context['overall']
        transaction.status = TRANSACTION_PENDING
        transaction.save()
        form = PaymentForm(initial={'ref_id': transaction.ref_id, 'amount': transaction.amount})
        context['form'] = form
        return render_to_response('checkout_details.html', context)
    elif transaction.status == TRANSACTION_PENDING:
        form = PaymentForm(initial={'ref_id': transaction.ref_id, 'amount': transaction.amount})
        context['overall'] = transaction.amount
        context['form'] = form
        return render_to_response('checkout_details.html', context)
    return HttpResponse(transaction)
Ejemplo n.º 2
0
def delete_item_from_cart(request):
    item_code = request.POST.get('license_code', None)
    if item_code is None:
        raise PermissionDenied
    cart = Cart(request)
    cart.remove(item_code)
    cart.save(request)
    return HttpResponse(json.dumps({'status': "ok"}), content_type="application/json")
Ejemplo n.º 3
0
 def get_context_data(self, **kwargs):
     context = super(CartView, self).get_context_data(**kwargs)
     context.update({'cart': [], 'summary': 0})
     cart = Cart(self.request)
     if cart.is_empty():
         return context
     context['cart'] = cart.get_all()
     context['summary'] = cart.summary()
     return context
Ejemplo n.º 4
0
def add_item_to_cart(request):
    item_code = request.POST.get('license_code', None)
    quantity = int(request.POST.get('quantity', None))
    if item_code and quantity is None:
        raise PermissionDenied
    if request.session.session_key is None:
        request.session.create()
    cart = Cart(request)
    cart.add(item_code, quantity)
    cart.save(request)
    return HttpResponse(json.dumps({'status': "ok"}), content_type="application/json")
Ejemplo n.º 5
0
 def post_ajax(self, request, *args, **kwargs):
     item_code = request.POST.get('license_code', None)
     quantity = int(request.POST.get('quantity', None))
     if item_code and quantity is None:
         raise PermissionDenied
     if request.session.session_key is None:
         request.session.create()
     cart = Cart(request)
     cart.add(item_code, quantity)
     cart.save(request)
     return self.render_json_response({"status": "ok"})
Ejemplo n.º 6
0
 def delete_ajax(self, request, *args, **kwargs):
     cart = Cart(request)
     cart.clear()
     cart.save(request)
     return self.render_json_response({"status": "ok"})