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)
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")
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
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")
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"})
def delete_ajax(self, request, *args, **kwargs): cart = Cart(request) cart.clear() cart.save(request) return self.render_json_response({"status": "ok"})