From eb1886ce939e4268bf0aa43c0de85515cf2a6604 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20=27Necoro=27=20Neumann?= Date: Mon, 15 Dec 2014 00:44:30 +0100 Subject: Search function --- app/views/expenses.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'app/views/expenses.py') diff --git a/app/views/expenses.py b/app/views/expenses.py index 88c72b6..2a5bd32 100644 --- a/app/views/expenses.py +++ b/app/views/expenses.py @@ -183,3 +183,27 @@ def add(): return redirect('.add') return { 'form': form } + +@mod.route('/search', methods=('POST', 'GET')) +@login_required +@templated +def search(): + try: + query = request.form['search'].strip() + except KeyError: + flash(u"Ungültige Suchanfrage") + return redirect('index') + + if not query: + flash(u"Leere Suche") + return redirect('index') + + exps = SingleExpense.of(current_user).filter(SingleExpense.description.ilike(query))\ + .order_by(SingleExpense.year.desc(), SingleExpense.month, SingleExpense.day, SingleExpense.description)\ + .all() + + if not exps: + flash(u"Keine Ergebnisse") + return redirect('index') + + return { 'exps': exps } -- cgit v1.2.3