aboutsummaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorrubenwardy <rw@rubenwardy.com>2020-07-18 01:48:21 +0100
committerrubenwardy <rw@rubenwardy.com>2020-07-18 01:48:37 +0100
commitc7b1dcec4f3f924ad300ddb662eb573b1677c979 (patch)
tree0f8681c6ca638b9638b8dc2cb0ba432839a83554 /app
parent7d0a93483acb7b81b94813957b41fb863cc8ea25 (diff)
downloadcheatdb-c7b1dcec4f3f924ad300ddb662eb573b1677c979.tar.xz
Sort "recently added" by approved_at
Diffstat (limited to 'app')
-rw-r--r--app/blueprints/homepage/__init__.py2
-rw-r--r--app/blueprints/packages/packages.py3
-rw-r--r--app/flatpages/help/api.md2
-rw-r--r--app/querybuilder.py2
-rw-r--r--app/templates/index.html2
5 files changed, 7 insertions, 4 deletions
diff --git a/app/blueprints/homepage/__init__.py b/app/blueprints/homepage/__init__.py
index 0329948..f029fde 100644
--- a/app/blueprints/homepage/__init__.py
+++ b/app/blueprints/homepage/__init__.py
@@ -18,7 +18,7 @@ def home():
query = Package.query.filter_by(approved=True, soft_deleted=False)
count = query.count()
- new = join(query.order_by(db.desc(Package.created_at))).limit(8).all()
+ new = join(query.order_by(db.desc(Package.approved_at))).limit(8).all()
pop_mod = join(query.filter_by(type=PackageType.MOD).order_by(db.desc(Package.score))).limit(8).all()
pop_gam = join(query.filter_by(type=PackageType.GAME).order_by(db.desc(Package.score))).limit(4).all()
pop_txp = join(query.filter_by(type=PackageType.TXP).order_by(db.desc(Package.score))).limit(4).all()
diff --git a/app/blueprints/packages/packages.py b/app/blueprints/packages/packages.py
index 6ff6623..f8124ea 100644
--- a/app/blueprints/packages/packages.py
+++ b/app/blueprints/packages/packages.py
@@ -367,7 +367,8 @@ def approve(package):
else:
package.approved = True
- package.approved_at = datetime.datetime.now()
+ if not package.approved_at:
+ package.approved_at = datetime.datetime.now()
screenshots = PackageScreenshot.query.filter_by(package=package, approved=False).all()
for s in screenshots:
diff --git a/app/flatpages/help/api.md b/app/flatpages/help/api.md
index 755902e..e695f21 100644
--- a/app/flatpages/help/api.md
+++ b/app/flatpages/help/api.md
@@ -66,7 +66,7 @@ Supported query parameters:
* `random` - When present, enable random ordering and ignore `sort`.
* `limit` - Return at most `limit` packages.
* `hide` - Hide content based on [Content Flags](/help/content_flags/).
-* `sort` - Sort by (`name`, `title`, `score`, `downloads`, `created_at`, `last_release`).
+* `sort` - Sort by (`name`, `title`, `score`, `downloads`, `created_at`, `approved_at`, `last_release`).
* `order` - Sort ascending (`asc`) or descending (`desc`).
* `protocol_version` - Only show packages supported by this Minetest protocol version.
* `engine_version` - Only show packages supported by this Minetest engine version, eg: `5.3.0`.
diff --git a/app/querybuilder.py b/app/querybuilder.py
index be7af32..43229db 100644
--- a/app/querybuilder.py
+++ b/app/querybuilder.py
@@ -98,6 +98,8 @@ class QueryBuilder:
to_order = Package.downloads
elif self.order_by == "created_at" or self.order_by == "date":
to_order = Package.created_at
+ elif self.order_by == "approved_at" or self.order_by == "date":
+ to_order = Package.approved_at
elif self.order_by == "last_release":
to_order = PackageRelease.releaseDate
else:
diff --git a/app/templates/index.html b/app/templates/index.html
index 896239d..1911058 100644
--- a/app/templates/index.html
+++ b/app/templates/index.html
@@ -23,7 +23,7 @@
{% from "macros/packagegridtile.html" import render_pkggrid %}
- <a href="{{ url_for('packages.list_all', sort='created_at', order='desc') }}" class="btn btn-secondary float-right">
+ <a href="{{ url_for('packages.list_all', sort='approved_at', order='desc') }}" class="btn btn-secondary float-right">
{{ _("See more") }}
</a>
<h2 class="my-3">{{ _("Recently Added") }}</h2>