From 4e870bd641338f661ef4d317edead6509aad22db Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Wed, 21 Mar 2018 20:02:53 +0000 Subject: Add basic search to package list --- app/views/packages.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'app/views') diff --git a/app/views/packages.py b/app/views/packages.py index a294ee8..c3de421 100644 --- a/app/views/packages.py +++ b/app/views/packages.py @@ -12,23 +12,29 @@ from wtforms.validators import * # TODO: the following could be made into one route, except I'm not sure how # to do the menu +def doPackageList(type): + packagesQ = Package.query.filter_by(type=type, approved=True) + + query = request.args.get("q") + if query is not None: + packagesQ = packagesQ.filter(Package.title.contains(query)) + + return render_template('packages.html', title=type.value + "s", packages=packagesQ.all(), query=query) + @app.route('/mods/') @menu.register_menu(app, '.mods', 'Mods', order=10) def mods_page(): - packages = Package.query.filter_by(type=PackageType.MOD, approved=True).all() - return render_template('packages.html', title="Mods", packages=packages) + return doPackageList(PackageType.MOD) @app.route('/games/') @menu.register_menu(app, '.games', 'Games', order=11) def games_page(): - packages = Package.query.filter_by(type=PackageType.GAME, approved=True).all() - return render_template('packages.html', title="Games", packages=packages) + return doPackageList(PackageType.GAME) @app.route('/texturepacks/') @menu.register_menu(app, '.txp', 'Texture Packs', order=12) def txp_page(): - packages = Package.query.filter_by(type=PackageType.TXP, approved=True).all() - return render_template('packages.html', title="Texture Packs", packages=packages) + return doPackageList(PackageType.TXP) def canSeeWorkQueue(): return Permission.APPROVE_NEW.check(current_user) or \ -- cgit v1.2.3