Esempio n. 1
0
def user_expenses():
    form = ExpenseForm()
    category_query = services.get_categories_query(current_user.id)
    form.category.query = category_query

    if form.validate_on_submit():
        # TODO: Insert expense here
        services.add_expense(name=form.name.data,
                             value=form.value.data,
                             category=form.category.data,
                             user=current_user)
        return redirect(url_for('register'))

    expenses = services.get_expenses_by_user(current_user.id)

    return render_template('expenses.html', expenses=expenses, form=form)
Esempio n. 2
0
def add_expense():
    user = g.user
    form = ExpenseForm()
    if form.validate_on_submit():
        expense = Expense(date=form.date.data,
                          description=form.description.data.strip(),
                          cost=''.join(i for i in form.cost.data.strip()
                                       if i.isdigit()),
                          merchant=form.merchant.data,
                          category=form.category.data,
                          creator=user)
        db.session.add(expense)
        db.session.commit()
        flash(
            "The Expense from: '{}' was added".format(form.merchant.data.name),
            'success')
        return redirect(url_for('dashboard'))
    return render_template('add_expense.html', user=user, form=form)
Esempio n. 3
0
def expense_detail(id):

    form = ExpenseForm()
    category_query = services.get_categories_query(current_user.id)
    form.category.query = category_query

    if request.method == 'GET':
        expense = services.get_expense_by_id(id)
        form.name.data = expense.Expense.name
        form.value.data = expense.Expense.value
        form.category.data = expense.Category

    if form.validate_on_submit():
        services.update_expense(id=id,
                                name=form.name.data,
                                value=form.value.data,
                                category=form.category.data)
        return redirect(url_for('user_expenses'))

    return render_template('expenses_detail.html', form=form)