summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRené 'Necoro' Neumann <necoro@necoro.eu>2020-01-11 00:13:22 +0100
committerRené 'Necoro' Neumann <necoro@necoro.eu>2020-01-11 00:13:22 +0100
commitb45e8f51b047ffa3a02b65f5e338d04c5576b851 (patch)
treeaebe132aa2d6f02e26a5b42f5f861b6a79a5f746
parent6285f4527e3a3f91ac68377667d7bc54c7dcd949 (diff)
downloadkosten-b45e8f51b047ffa3a02b65f5e338d04c5576b851.tar.gz
kosten-b45e8f51b047ffa3a02b65f5e338d04c5576b851.tar.bz2
kosten-b45e8f51b047ffa3a02b65f5e338d04c5576b851.zip
/add now remembers the date on reloading
-rw-r--r--app/views/expenses.py17
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 }