Exemplo n.º 1
0
def c_chequeCancellation(request):
	if request.method == 'POST':
		form = ChequeCancellationForm(request.POST)
		if form.is_valid():
			cheque_number = form.cleaned_data['cheque_number']
			global accn
			n=1
			acc_id=0
			acc_nu=Account.objects.get(account_number=accn)		
			name=acc_nu.name
			acc_id=acc_nu.id
			for num in Cheque.objects.all():
				ac_id=num.account_number_id
				c_num=num.cheque_number
				if int(cheque_number)==int(c_num) and int(acc_id)==int(ac_id):
					status=num.status
					n=cheque_number
					break	
			m=0
			for cn in Cheque.objects.all():
				a_cn=cn.cheque_number
				if int(cheque_number)==int(a_cn):
					m=1
			cb=ChequeBook.objects.get(account_number=acc_id)		
			cnum=cb.first_cheque_number
			csize=cb.size + cnum
			cheque_date=datetime.date.today()
			if n!=1:
				return render_to_response('cheques/customerMenu.html', {
					'messagee': status,
					'messa': 1,
					'name': name
				}, context_instance=RequestContext(request))
			elif m==1 or int(cheque_number) < cnum or int(cheque_number) > csize:
				return render_to_response('cheques/c_chequeCancellation.html', {
					'form': form,
					'name': name,
					'accnum': accn, 
					'message': "Invalid Cheque number",
				}, context_instance=RequestContext(request))
			else:
				ch_info=Cheque(cheque_number=cheque_number, date=cheque_date, amount='000',
							micr_number='500002023', account_number_id=acc_id, status='cancelled')
				ch_info.save()
				return render_to_response('cheques/customerMenu.html', {
					'message': "Cheque has been cancelled",
				}, context_instance=RequestContext(request))
			
					
	else:
		form=ChequeCancellationForm()
	acc_n=Account.objects.get(account_number=accn)		
	name=acc_n.name
	return render_to_response('cheques/c_chequeCancellation.html', {
		'name': name,		
		'accnum': accn, 
		'form': form,
		}, context_instance=RequestContext(request))
Exemplo n.º 2
0
def e_chequePayment(request):
	global accn
	accn_r = request.GET.get('account_number','')
	if accn_r==None:
		accn_r=accn
	
	if request.method == 'POST': 
		form = ChequePaymentForm(request.POST) 
		if form.is_valid():
			global accn
			cheque_number = form.cleaned_data['cheque_number']
			amount = form.cleaned_data['amount']
			cheque_date = form.cleaned_data['cheque_date']
			payee_name = form.cleaned_data['payee_name']
			today_date=datetime.date.today()
			date = today_date-cheque_date	
			date=date.days
			acc_id=0
			for num in Account.objects.all():
				a_num=num.account_number
				if accn_r==a_num:
					name=num.name
					balance=num.balance
					acc_id=num.id
			
			m=0
			for cn in Cheque.objects.all():
				a_cn=cn.cheque_number
				if int(cheque_number)==int(a_cn):
					m=1
			sform=SearchAccountNumberForm()
			cb=ChequeBook.objects.get(account_number=acc_id)		
			cnum=cb.first_cheque_number
			csize=cb.size + cnum
			
			if m==1 or int(cheque_number) < cnum or int(cheque_number) > csize:
				return render_to_response('cheques/e_chequePayment.html', {
					'name': name,
					'balance': balance,
					'form': form,
					'acc_nu': accn_r,
					'message': "Invalid cheque number",
					'm': m
				}, context_instance=RequestContext(request))
			elif balance<amount:
				ch_info=Cheque(cheque_number=cheque_number, date=cheque_date, amount=amount,
							payee_name=payee_name, micr_number='500002023', account_number_id=acc_id, status='bounced')
				message="Cheque bounced due to insufficient balance"
				ch_info.save()	
				return render_to_response('cheques/employeeMenu.html', {
					'message': message,
					'form': sform
				}, context_instance=RequestContext(request))
			elif date>183:
				ch_info=Cheque(cheque_number=cheque_number, date=cheque_date, amount=amount,
							payee_name=payee_name, micr_number='500002023', account_number_id=acc_id, status='bounced')
				message="Cheque bounced due to expired date"
				ch_info.save()	
				return render_to_response('cheques/employeeMenu.html', {
					'message': message,
					'form': sform
				}, context_instance=RequestContext(request))
			else:
				balance=balance-amount
				Account.objects.filter(account_number=accn_r).update(balance=balance)
				ch_info=Cheque(cheque_number=cheque_number, date=cheque_date, amount=amount,
							payee_name=payee_name, micr_number='500002023', account_number_id=acc_id, status='processed')
				message="Cheque processed successfully"	
				ch_info.save()		
				return render_to_response('cheques/employeeMenu.html', {
					'message': message,
					'form': sform
				}, context_instance=RequestContext(request))
			
	else:
		form=ChequePaymentForm()

	for num in Account.objects.all():
		a_num=num.account_number
		if accn==a_num:
			name=num.name
			balance=num.balance
				
	return render_to_response('cheques/e_chequePayment.html', {
		'name': name,
		'balance': balance,
		'form': form,
		'acc_nu': accn_r
	}, context_instance=RequestContext(request))