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)