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 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