From 7813c766acb44a328e2a79bc95d8b949b0c1c205 Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Wed, 4 Jul 2018 01:05:32 +0100 Subject: Add package scores and split homepage into new and popular --- app/views/__init__.py | 5 +++-- app/views/admin.py | 6 ++++++ app/views/packages/__init__.py | 2 ++ 3 files changed, 11 insertions(+), 2 deletions(-) (limited to 'app/views') diff --git a/app/views/__init__.py b/app/views/__init__.py index 2001a90..3fec29f 100644 --- a/app/views/__init__.py +++ b/app/views/__init__.py @@ -48,8 +48,9 @@ def send_upload(path): def home_page(): query = Package.query.filter_by(approved=True, soft_deleted=False) count = query.count() - packages = query.order_by(db.desc(Package.created_at)).limit(15).all() - return render_template("index.html", packages=packages, count=count) + new = query.order_by(db.desc(Package.created_at)).limit(3).all() + popular = query.order_by(db.desc(Package.score)).limit(15).all() + return render_template("index.html", new=new, popular=popular, count=count) from . import users, githublogin, packages, meta, threads, api from . import sass, tasks, admin, notifications, tagseditor, thumbnails diff --git a/app/views/admin.py b/app/views/admin.py index 92ee437..532b642 100644 --- a/app/views/admin.py +++ b/app/views/admin.py @@ -64,6 +64,12 @@ def admin_page(): db.session.commit() return redirect(url_for("admin_page")) + elif action == "recalcscores": + for p in Package.query.all(): + p.recalcScore() + + db.session.commit() + return redirect(url_for("admin_page")) else: flash("Unknown action: " + action, "error") diff --git a/app/views/packages/__init__.py b/app/views/packages/__init__.py index 4d357a6..2c8d77b 100644 --- a/app/views/packages/__init__.py +++ b/app/views/packages/__init__.py @@ -47,6 +47,8 @@ def build_packages_query(): if search is not None and search.strip() != "": query = query.filter(Package.title.ilike('%' + search + '%')) + query = query.order_by(db.desc(Package.score)) + return query, title @menu.register_menu(app, ".mods", "Mods", order=11, endpoint_arguments_constructor=lambda: { 'type': 'mod' }) -- cgit v1.2.3