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))
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))