From b45e8f51b047ffa3a02b65f5e338d04c5576b851 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20=27Necoro=27=20Neumann?= Date: Sat, 11 Jan 2020 00:13:22 +0100 Subject: /add now remembers the date on reloading --- app/views/expenses.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) 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 = "%s" % (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 } -- cgit v1.2.3