diff options
| author | rubenwardy <rw@rubenwardy.com> | 2018-07-04 01:05:32 +0100 |
|---|---|---|
| committer | rubenwardy <rw@rubenwardy.com> | 2018-07-04 01:08:34 +0100 |
| commit | 7813c766acb44a328e2a79bc95d8b949b0c1c205 (patch) | |
| tree | 364bf58c6789e002cd93b723ba28a2f39ebbd1dc /app/views | |
| parent | 9fc9826d3012b2551e1f36baf2ad4ad78be2cd14 (diff) | |
| download | cheatdb-7813c766acb44a328e2a79bc95d8b949b0c1c205.tar.xz | |
Add package scores and split homepage into new and popular
Diffstat (limited to 'app/views')
| -rw-r--r-- | app/views/__init__.py | 5 | ||||
| -rw-r--r-- | app/views/admin.py | 6 | ||||
| -rw-r--r-- | app/views/packages/__init__.py | 2 |
3 files changed, 11 insertions, 2 deletions
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' }) |
