예제 #1
0
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)
예제 #2
0
파일: views.py 프로젝트: mwotil/nuaza
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))
예제 #3
0
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})
예제 #4
0
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
    })
예제 #5
0
파일: views.py 프로젝트: mwotil/nuaza
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))