diff options
-rw-r--r-- | app/templates/index.html | 6 | ||||
-rw-r--r-- | app/views/packages.py | 25 |
2 files changed, 23 insertions, 8 deletions
diff --git a/app/templates/index.html b/app/templates/index.html index 541b230..42b02df 100644 --- a/app/templates/index.html +++ b/app/templates/index.html @@ -5,6 +5,12 @@ Dashboard {% endblock %} {% block content %} + + <form method="get" action="/packages/"> + <input type="text" name="q" value="{{ query or ''}}" /> + <input type="submit" value="Search" /> + </form> + <div class="box box_grey"> <h2>{{ self.title() }}</h2> diff --git a/app/views/packages.py b/app/views/packages.py index c3de421..2c7c803 100644 --- a/app/views/packages.py +++ b/app/views/packages.py @@ -13,26 +13,35 @@ from wtforms.validators import * # to do the menu def doPackageList(type): - packagesQ = Package.query.filter_by(type=type, approved=True) + title = "Packages" + query = Package.query - query = request.args.get("q") - if query is not None: - packagesQ = packagesQ.filter(Package.title.contains(query)) + if type is not None: + title = type.value + "s" + query = query.filter_by(type=type, approved=True) - return render_template('packages.html', title=type.value + "s", packages=packagesQ.all(), query=query) + search = request.args.get("q") + if search is not None: + query = query.filter(Package.title.contains(search)) + + return render_template('packages.html', title=title, packages=query.all(), query=search) + +@app.route('/packages/') +def packages_page(): + return doPackageList(None) @app.route('/mods/') -@menu.register_menu(app, '.mods', 'Mods', order=10) +@menu.register_menu(app, '.mods', 'Mods', order=11) def mods_page(): return doPackageList(PackageType.MOD) @app.route('/games/') -@menu.register_menu(app, '.games', 'Games', order=11) +@menu.register_menu(app, '.games', 'Games', order=12) def games_page(): return doPackageList(PackageType.GAME) @app.route('/texturepacks/') -@menu.register_menu(app, '.txp', 'Texture Packs', order=12) +@menu.register_menu(app, '.txp', 'Texture Packs', order=13) def txp_page(): return doPackageList(PackageType.TXP) |