From 8c6d352d076a4e75df3b6a394bc392a7b4dac127 Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Fri, 15 Jun 2018 23:44:13 +0100 Subject: [PATCH] Fix crash on packages page --- app/views/api.py | 2 +- app/views/packages/__init__.py | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/app/views/api.py b/app/views/api.py index c4112b5..f6f7c64 100644 --- a/app/views/api.py +++ b/app/views/api.py @@ -24,7 +24,7 @@ from .packages import build_packages_query @app.route("/api/packages/") def api_packages_page(): - query = build_packages_query() + query, _ = build_packages_query() pkgs = [package.getAsDictionaryShort(app.config["BASE_URL"]) \ for package in query.all() if package.getDownloadRelease() is not None] return jsonify(pkgs) diff --git a/app/views/packages/__init__.py b/app/views/packages/__init__.py index 0b802af..6ef76ec 100644 --- a/app/views/packages/__init__.py +++ b/app/views/packages/__init__.py @@ -47,7 +47,7 @@ def build_packages_query(): if search is not None and search.strip() != "": query = query.filter(Package.title.ilike('%' + search + '%')) - return query + return query, title @menu.register_menu(app, ".mods", "Mods", order=11, endpoint_arguments_constructor=lambda: { 'type': 'mod' }) @menu.register_menu(app, ".games", "Games", order=12, endpoint_arguments_constructor=lambda: { 'type': 'game' }) @@ -57,11 +57,14 @@ def packages_page(): if shouldReturnJson(): return redirect(url_for("api_packages_page")) - query = build_packages_query() + query, title = build_packages_query() page = int(request.args.get("page") or 1) num = min(42, int(request.args.get("n") or 100)) query = query.paginate(page, num, True) + search = request.args.get("q") + type_name = request.args.get("type") + next_url = url_for("packages_page", type=type_name, q=search, page=query.next_num) \ if query.has_next else None prev_url = url_for("packages_page", type=type_name, q=search, page=query.prev_num) \