Exemple #1
0
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  
Exemple #2
0
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