def transact_one(request): items = request.POST.getlist("items[]") cash = request.POST.get("tender") total = request.POST.get("total") user = request.user.id context = RequestContext(request) try: employee= Employee.objects.get(user_id=user) except: pass try: total = float(total) cash = float(cash) transaction = Transaction(amount_due=cash, cashier_id=employee.id) transaction.save() for id in items: breakdown = OneOffTransaction(transaction_id=transaction.id, acct_id=id) breakdown.save() acct = OneOffAccount.objects.get(id=id) acct.paid = True acct.save() payee = acct.payee bills = OneOffAccount.objects.select_related('billitems').filter(payee=payee, paid=False) total = 0 for bill in bills: total = total + bill.bill_item_name.amount except: print "error", sys.exc_info()[0], sys.exc_info()[1] data = render_to_response('./billing/oneoff_bill.html', {'payee':payee, 'bills':bills, 'total':total}, context) return data
def transact(request): items = request.POST.getlist("items[]") cash = request.POST.get("tender") total = request.POST.get("total") user = request.user.id discount = request.POST.get("discount") studentID = request.POST.get("studentID") print 'student ', studentID try: employee= Employee.objects.get(user_id=user) except: print "error employee", sys.exc_info()[0], sys.exc_info()[1] try: total = float(total) cash = float(cash) transaction = Transaction(amount_due=cash, cashier_id=employee.id, student=studentID) transaction.save() print 'transaction saved' for id in items: breakdown = TransactionBreakdown(transaction_id_id=transaction.id, bill_account_id_id=id) breakdown.save() acct = BillAccount.objects.get(id=id) acct.balance = 0 if acct.bill_item_name.item_type == 'T': acct.discount =float(discount) acct.amount = float(acct.amount) - ((float(discount)/100)*float(acct.amount)) id = acct.student_id acct.save() except: print "error items transact", sys.exc_info()[0], sys.exc_info()[1] data = get_bill(request, (id)) return data