From c08bf64462490bddddf075be5693807f60e474f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20=27Necoro=27=20Neumann?= Date: Tue, 14 Jan 2014 21:36:57 +0100 Subject: Default to category name when there is no description given (only on add()!) --- app/forms.py | 2 +- app/views/expenses.py | 14 ++++++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/app/forms.py b/app/forms.py index 6d7abfb..250bc21 100644 --- a/app/forms.py +++ b/app/forms.py @@ -1,7 +1,7 @@ # -*- encoding: utf-8 -*- import flask from flask.ext.wtf import Form as _Form -from wtforms.fields import DateField, IntegerField, StringField, HiddenField, PasswordField +from wtforms.fields import BooleanField, DateField, IntegerField, StringField, HiddenField, PasswordField from wtforms import fields, validators, ValidationError from wtforms.ext.sqlalchemy.fields import QuerySelectField diff --git a/app/views/expenses.py b/app/views/expenses.py index 23cd42e..88c72b6 100644 --- a/app/views/expenses.py +++ b/app/views/expenses.py @@ -27,15 +27,18 @@ class ExpenseForm(F.Form): description=u'EUR', places=2) - description = F.StringField(u'Beschreibung', F.req) + description = F.StringField(u'Beschreibung') category = F.QuerySelectField(u'Kategorie', get_label='name') - def __init__(self, obj = None): + def __init__(self, obj = None, description_req = True): super(ExpenseForm, self).__init__(obj = obj) self.category.query = Category.of(current_user).order_by(Category.name) + if description_req: + self.description.validators.extend(F.req) + # # Utilities # @@ -108,7 +111,7 @@ def is_last(exp): def show(): """Show this and the last month.""" d = today() - + first, pfirst = calc_month_and_pie(d.year, d.month) if d.month == 1: second, psecond = calc_month_and_pie(d.year - 1, 12) @@ -161,9 +164,12 @@ def edit(id): @templated def add(): """Add a new expense.""" - form = ExpenseForm() + form = ExpenseForm(description_req=False) if form.validate_on_submit(): + if not form.description.data.strip(): + form.description.data = form.category.data.name + exp = SingleExpense() form.populate_obj(exp) -- cgit v1.2.3