def transfer_2(request): context = {} err_message = [] context['err_message'] = err_message context['User'] = request.user context['on_line'] = chat(request) if 'select_account' not in request.GET: err_message.append("Please select an account.") return render(request, "account/transfer_2.html", context) select = request.GET['select_account'] main_account = request.user.profile.account if select == "checking": account = main_account.checking_account.account_number elif select == "saving": account = main_account.saving_account.account_number else: err_message.append("Account invalid.") return render(request, "account/transfer_2.html", context) context['target_account'] = request.GET['target_account'] context['target_first_name'] = request.GET['target_first_name'] context['target_last_name'] = request.GET['target_last_name'] context['select'] = select context['account'] = account context['form'] = TransferForm3() return render(request, "account/transfer_3.html", context)
def confirm_registration(request, form, token): user = get_object_or_404(User, username=form.cleaned_data['Username']) # Send 404 error if token is invalid if not default_token_generator.check_token(user, token): raise Http404 # Otherwise token was valid, activate the user. user.is_active = True user.save() login(request, user) new_profile = Profile( last_name=user.first_name, first_name=user.last_name, user=user, email=user.email, phone=form.cleaned_data['phone'], middle_name=form.cleaned_data['middle_name'], address=form.cleaned_data['address'], date_of_birth=form.cleaned_data['date_of_birth'], gender='Male', ssn=form.cleaned_data['ssn'], ) new_profile.save() context = {} context['on_line'] = chat(request) return redirect(reverse('create_account'))
def account_context(request): context = {} logs_in = get_log_internal(request) logs_ex = get_log_external(request) profile = request.user.profile account = Account.objects.get(profile=profile) checking = account.checking_account.balance saving = account.saving_account.balance logs = logs_in + logs_ex description = [] for log in logs: if log['type'] == 'C': log['description'] = "Saving to Checking" if log['type'] == 'S': log['description'] = "Checking to Saving" if log['type'] == 'T': log['description'] = log['account_2'] context['on_line'] = chat(request) context['checking_logs'] = logs context['saving_logs'] = logs_in context['checking'] = checking context['saving'] = saving context['description'] = description context['log_time'] = (datetime.now() - timedelta(days=90)).strftime("%Y-%m-%d") context['checknumber'] = account.checking_account.account_number context['savingnumber'] = account.saving_account.account_number context['number'] = account.account_number return context
def register(request): context = {} errors = [] context['errors'] = errors context['on_line'] = chat(request) # Just display the registration form if this is a GET request if request.method == 'GET': context['form'] = RegistrationForm() return render(request, 'register.html', context) print(12312312312312312312) form = RegistrationForm(request.POST) context['form'] = form print(form) if not form.is_valid(): context['message'] = ["ERR: username exist or password don't match"] return render(request, 'register.html', context) print(123) new_user = User.objects.create_user( username=form.cleaned_data['Username'], password=form.cleaned_data['Password'], first_name=form.cleaned_data['first_name'], last_name=form.cleaned_data['last_name'], email=form.cleaned_data['email'], ) print(12333) new_user.is_active = False new_user.save() token = default_token_generator.make_token(new_user) return confirm_registration(request, form, token)
def user_login(request): context = {} errors = "" context['errors'] = errors context['on_line'] = chat(request) if request.method == 'GET': return render(request, 'login.html', context) if request.method == 'POST': username = request.POST['username'] password = request.POST['password'] user = authenticate(username=username, password=password) if user is not None: if user.is_active: login(request, user) context = account_context(request) return render(request, 'account.html', context) else: errors = "You're account is disabled." else: errors = "Invalid user ID or passcode." context['errors'] = errors return render(request, 'login.html', context)
def profile(request): errors = [] context = {} user = request.user try: user_profile = Profile.objects.get(user=user) context['profile'] = user_profile except: errors.append('No such profile') context['message'] = errors profile = user.profile context['first_name'] = profile.first_name context['last_name'] = profile.last_name context['middle_name'] = profile.middle_name context['email'] = profile.email context['phone'] = profile.phone context['address'] = profile.address context['dob'] = profile.date_of_birth context['gender'] = profile.gender context['ssn'] = profile.ssn context['on_line'] = chat(request) return render(request, 'profile.html', context)
def transfer_4(request): context = {} context['target_account'] = request.POST['target_account'] context['target_first_name'] = request.POST['target_first_name'] context['target_last_name'] = request.POST['target_last_name'] context['account'] = request.POST['account'] context['select'] = request.POST['select'] context['amount'] = request.POST['amount'] context['description'] = request.POST['description'] context['time'] = request.POST['time'] context['on_line'] = chat(request) return render(request, "account/transfer_confirm.html", context)
def transfer_3(request): context = {} err_message = [] context['err_message'] = err_message context['User'] = request.user form = TransferForm3(request.POST) context['form'] = form context['on_line'] = chat(request) if not form.is_valid(): return render(request, 'account/transfer_3.html', context) owner_account = request.POST['account'] owner = Saving_Account.objects.filter(account_number=owner_account) if len(owner) == 0: owner = Checking_Account.objects.filter(account_number=owner_account) owner = owner[0] amount = form.cleaned_data['balance'] if not is_enough(owner, amount): err_message.append("you don't have enough money") return render(request, 'account/transfer_3.html', context) owner.balance = owner.balance - amount owner.save() target_account = request.POST['target_account'] getter = Checking_Account.objects.filter(account_number=target_account) if len(getter) == 0: getter = Saving_Account.objects.filter(account_number=target_account) getter = getter[0] getter.balance = getter.balance + amount getter.save() add_log_external(type='T', amount=form.cleaned_data['balance'], account_number_1=owner.account_number, account_number_2=getter.account_number) context['target_account'] = request.POST['target_account'] context['target_first_name'] = request.POST['target_first_name'] context['target_last_name'] = request.POST['target_last_name'] context['account'] = request.POST['account'] context['select'] = request.POST['select'] context['amount'] = amount context['description'] = request.POST['description'] context['profile'] = request.user.profile context['time'] = datetime.now() return render(request, 'account/transfer_4.html', context)
def transfer_1(request): context = {} err_message = [] context['err_message'] = err_message context['User'] = request.user context['on_line'] = chat(request) if request.method == 'GET': context['form'] = TransferForm1() return render(request, 'account/transfer_1.html', context) else: form = TransferForm1(request.POST) context['form'] = form if is_frozen(request.user.profile): err_message.append( "your account has already been frozen, plz connect us to deal with this" ) return render(request, 'account/transfer_1.html', context) if not form.is_valid(): return render(request, 'account/transfer_1.html', context) target_account = form.cleaned_data['target_account'] getter = Checking_Account.objects.filter(account_number=target_account) if len(getter) == 0: getter = Saving_Account.objects.filter( account_number=target_account) getter = getter[0] if is_frozen(getter): err_message.append( "the target account has already been frozen, plz connect us to deal with this" ) return render(request, 'account/transfer_1.html', context) context['target_account'] = form.cleaned_data['target_account'] context['target_first_name'] = form.cleaned_data['target_first_name'] context['target_last_name'] = form.cleaned_data['target_last_name'] return render(request, 'account/transfer_2.html', context)
def createAccount(request): err_message = [] message = [] context = {} if request.user.profile.type == 'C': err_message.append('you have no permission to do this, plz connect us') context = { 'message': message, 'err_message': err_message, 'User': request.user } return render(request, 'account/err.html', context) if request.method == 'POST': form = createForm(request.POST) context['form'] = form context['User'] = request.user context['on_line'] = chat(request) if not form.is_valid(): return render(request, 'account/create_account.html', context) else: new_account = Account( profile=get_object_or_404( User, username=form.cleaned_data['username']).profile, account_number=request.POST['account_number'], account_status='active') new_account.save() account_number = random.randint(0, 9999999999) while Checking_Account.objects.filter( account_number=account_number): account_number = random.randint(0, 9999999999) new_checking_account = Checking_Account( account_number=account_number, account=new_account, balance=0) new_checking_account.save() account_number = random.randint(0, 9999999999) while Checking_Account.objects.filter( account_number=account_number): account_number = random.randint(0, 9999999999) new_saving_account = Saving_Account(account_number=account_number, account=new_account, balance=0) new_saving_account.save() message.append("create " + request.POST['account_number'] + " successfully!") context = { 'message': message, 'err_message': err_message, 'User': request.user } return view_accounts(request, context) else: form = createForm() context = { 'message': message, 'err_message': err_message, 'User': request.user, 'form': form } return render(request, 'account/create_account.html', context)
def saving_to_check(request): err_message = [] message = [] context = {} context['on_line'] = chat(request) if request.method == 'GET': context = { 'message': message, 'err_message': err_message, 'User': request.user, 'form': csForm() } return render(request, 'account/saving_to_check.html', context) else: form = csForm(request.POST) if is_frozen(request.user.profile): err_message.append( "your account has already been frozen, plz connect us to deal with this" ) context = { 'message': message, 'err_message': err_message, 'User': request.user, 'form': form } return render(request, 'account/saving_to_check.html', context) context['form'] = form context['User'] = request.user if not form.is_valid(): return render(request, 'account/saving_to_check.html', context) owner_check = request.user.profile.account.checking_account owner_saving = request.user.profile.account.saving_account amount = form.cleaned_data['balance'] if not is_enough(owner_saving, amount): err_message.append("you don't have enough money") context = { 'message': message, 'err_message': err_message, 'User': request.user, 'form': csForm() } return render(request, 'account/saving_to_check.html', context) else: owner_check.balance = owner_check.balance + amount owner_saving.balance = owner_saving.balance - amount owner_saving.save() owner_check.save() add_log_internal(type='C', amount=amount, user_name=request.user.username) message.append( "you successfully transfer money from saving to check account") context = { 'message': message, 'err_message': err_message, 'User': request.user } #return render(request, 'account/suceed.html', context) return view_accounts(request, context)
def transfer(request): err_message = [] message = [] context = {} context['on_line'] = chat(request) if request.method == 'GET': context['form'] = TransferForm() context['User'] = request.user #context['balance'] = request.user.profile. return render(request, 'account/transfer.html', context) else: form = TransferForm(request.POST) if is_frozen(request.user.profile): err_message.append( "your account has already been frozen, plz connect us to deal with this" ) context = { 'message': message, 'err_message': err_message, 'User': request.user, 'form': form } return render(request, 'account/transfer.html', context) context['form'] = form context['User'] = request.user if not form.is_valid(): return render(request, 'account/transfer.html', context) owner = request.user.profile.account.checking_account amount = form.cleaned_data['balance'] if not is_enough(owner, amount): err_message.append("you don't have enough money") context = { 'message': message, 'err_message': err_message, 'User': request.user, 'form': form } return render(request, 'account/transfer.html', context) else: owner.balance = owner.balance - form.cleaned_data['balance'] owner.save() getter = get_object_or_404( Checking_Account, account_number=form.cleaned_data['target_account']) if is_frozen(getter): err_message.append( "the target account has already been frozen, plz connect us to deal with this" ) context = { 'message': message, 'err_message': err_message, 'User': request.user, 'form': form } return render(request, 'account/transfer.html', context) getter.balance = getter.balance + form.cleaned_data['balance'] getter.save() add_log_external(type='T', amount=form.cleaned_data['balance'], account_number_1=owner.account_number, account_number_2=getter.account_number) message.append("you successfully transfer money to " + str(form.cleaned_data['target_account'])) context = { 'message': message, 'err_message': err_message, 'User': request.user } #return render(request, 'account/suceed.html', context) return view_accounts(request)
def view_accounts(request): context = account_context(request) context['on_line'] = chat(request) return render(request, 'account.html', context)
def home(request): on_line = chat(request) return render(request, 'index.html', {"on_line": on_line})