diff options
Diffstat (limited to '')
-rw-r--r-- | app/views/expenses.py | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/app/views/expenses.py b/app/views/expenses.py index 8061590..af46446 100644 --- a/app/views/expenses.py +++ b/app/views/expenses.py @@ -80,6 +80,18 @@ def entry_flash(msg, exp): link = "<a href=\"%s\">%s</a>" % (url, exp.description) flash(Markup(msg % link)) +DATE_FORMAT='%Y%m%d' +def parse_date(value): + try: + dt = datetime.datetime.strptime(value, DATE_FORMAT) + except ValueError: + return today() + else: + return dt.date() + +def gen_date(value): + return value.strftime(DATE_FORMAT) + # # Template additions # @@ -167,6 +179,9 @@ def add(): """Add a new expense.""" form = ExpenseForm(description_req=False) + if request.method == 'GET' and 'date' in request.args: + form.date.data = parse_date(request.args['date']) + if form.validate_on_submit(): if not form.description.data.strip(): form.description.data = form.category.data.name @@ -181,7 +196,7 @@ def add(): entry_flash("Neuer Eintrag %s hinzugefügt.", exp) - return redirect('.add') + return redirect('.add', date = gen_date(exp.date)) return { 'form': form } |