Ejemplo n.º 1
0
def add_transaction(account_id):
	account = Account.query.get(account_id)
	form = AddTransactionForm()
	form.category.choices = build_user_category_array(current_user)

	if form.validate_on_submit():
		if form.transaction_type.data=='Expense':
			amount = decimal.Decimal(0.00) - form.amount.data
		elif form.transaction_type.data=='Income':
			amount = form.amount.data

		tr = Transaction(transaction_name=form.transaction_name.data, \
			user_id=current_user.user_id, account_id=account_id, \
			amount=amount, note=form.note.data, category_id=int(form.category.data))
		if form.recurring.data=='True':
			tr.recurring = True
			tr.recurring_delay = Transaction.set_recurring_delay(form.how_often.data)
			tr.recurring_enddate = Transaction.set_recurring_enddate(form.enddate.data)
		
		account.account_networth += amount

		db.session.add(tr)
		db.session.commit()
		flash("{} succesfully added".format(tr))
		return redirect(url_for('main.account', account_id=account_id))


	return render_template('main/add_transaction.html', form=form, user_id=current_user.user_id)