def transfer(request): if request.method == "POST": f = TransactionForm(request.POST) if f.is_valid(): recaccno = f.cleaned_data['receiver_accno'] transpass = f.cleaned_data['transaction_password'] amt = f.cleaned_data['amount'] curruser = User.objects.get(username=request.user.username) balance = curruser.profile.balance transactionpass = curruser.profile.transaction_password receiver = Profile.objects.get(account_no=recaccno) if balance >= amt: if receiver is not None: if transpass == transactionpass: receiver.balance = receiver.balance + amt receiver.save() curruser.profile.balance = curruser.profile.balance - amt curruser.save() f.save() iid = (Transaction.objects.all().aggregate( Max('id')))['id__max'] currtrans = Transaction.objects.get(id=iid) currtrans.sender_accno = curruser.profile.account_no currtrans.save() return render_to_response('transfer_success.html') return render_to_response('transfer_fail.html') args = {} #args.update(csrf(request)) args['f'] = TransactionForm() print args #return render_to_response('register.html', args) return render(request, 'transfer.html', args)
def transact(request, product_slug, template_name="pdcts/transact.html"): page_title = "Bid Product" pdct = get_object_or_404(Product, slug=product_slug) offers = Transaction.objects.filter(product__slug=product_slug).order_by('-bid_price')[:1] if request.method =='POST': form = TransactionForm (request.POST) p = get_object_or_404(Product, slug=product_slug) email_subject = 'Approve a buyer Offer' email_body = "Hello %s, \n\nThis is a My Campuser seller alert send to the Site's Sellers. \n\nPlease, check your My Campuser transactions page to either Accept or Reject a new buyer offer for the product %s by using the following link: \n\nhttp://mycampuser.com/accounts/my_transactions/ \n\nRegards,\nMy Campuser Team" % (p.user, p.product_name) if form.is_valid(): r = form.cleaned_data["quantity"] if r > p.quantity: # raise forms.ValidationError('%s is only available. Request for it or less' % (p.quantity)) qtty = "Available: %d . Enter it or Less." % (p.quantity) form = BuyNowForm() else: buy = form.save(commit=False) buy.user = request.user buy.product = p buy.status = "Not Yet Approved" buy.save() send_mail(email_subject, email_body, '*****@*****.**', [p.user.email]) return HttpResponseRedirect('/accounts/my_transactions/') else: p = get_object_or_404(Product, slug=product_slug) form = TransactionForm() return render_to_response(template_name, locals(), context_instance = RequestContext(request))
def createFinancialTranx(request): isLoged(request) acc = getCurrentAccount(request) currentAccFina = getSavedInSession(request, 'currentAccFina') team = getSavedInSession(request, 'team') accFina = team.financialacc_set.all() page = request.GET.get('page','1') msj = '' if request.method == 'POST': trx = TransactionForm(request.POST) if trx.is_valid(): typeTrx = request.POST.get('transTypeParam' , '') trxt = trx.save(commit = False) trxt.creator = acc trxt.accounttrans = currentAccFina if typeTrx == 'isSpending': trxt.amount = trxt.amount * -1 trxt.save() budgetlist = currentAccFina.budget_set.all() data = [] if budgetlist: data=budgetlist[0].transactionbudget_set.filter(concept= trxt.concept) if data: newAmount = abs(data[0].amount) - abs(trxt.amount) if trxt.amount >=0 and data[0].amount<0: msj = "El presupuesto asumira este ingreso como un gasto por usar su mismo concepto." if (newAmount<=0): data[0].isDone = True data[0].save() else: if(data[0].amount < 0): data[0].amount = newAmount * -1 else: data[0].amount = newAmount data[0].save() trxs = Paginator(currentAccFina.transaction_set.all(),5).page(int(page)) balance = 0 for t in trxs: balance += t.amount return render(request,'financialAcctnx.html',{'msjInfo':msj ,'user':getLogin(request),'accFina':accFina,'currentAccFina':currentAccFina.name,'trans':trxs,'balance':balance})
def addtransaction(request): categories = Category.objects.all() if request.method == "POST": form = TransactionForm(request.POST) if form.is_valid(): transaction = form.save(commit=False) transaction.user = request.user transaction.save() return redirect("/expensemanager/") else: print form.errors else: form = TransactionForm() return render(request, "expensemanager/addtransaction.html", { 'categories': categories, 'form': form })
def transact(request, product_slug, template_name="pdcts/transact.html"): page_title = "Bid Product" pdct = get_object_or_404(Product, slug=product_slug) offers = Transaction.objects.filter( product__slug=product_slug).order_by('-bid_price')[:1] if request.method == 'POST': form = TransactionForm(request.POST) p = get_object_or_404(Product, slug=product_slug) email_subject = 'Approve a buyer Offer' email_body = "Hello %s, \n\nThis is a My Campuser seller alert send to the Site's Sellers. \n\nPlease, check your My Campuser transactions page to either Accept or Reject a new buyer offer for the product %s by using the following link: \n\nhttp://mycampuser.com/accounts/my_transactions/ \n\nRegards,\nMy Campuser Team" % ( p.user, p.product_name) if form.is_valid(): r = form.cleaned_data["quantity"] if r > p.quantity: # raise forms.ValidationError('%s is only available. Request for it or less' % (p.quantity)) qtty = "Available: %d . Enter it or Less." % (p.quantity) form = BuyNowForm() else: buy = form.save(commit=False) buy.user = request.user buy.product = p buy.status = "Not Yet Approved" buy.save() send_mail(email_subject, email_body, '*****@*****.**', [p.user.email]) return HttpResponseRedirect('/accounts/my_transactions/') else: p = get_object_or_404(Product, slug=product_slug) form = TransactionForm() return render_to_response(template_name, locals(), context_instance=RequestContext(request))